为了账号安全,请及时绑定邮箱和手机立即绑定

很疑惑,求分享看法

很疑惑,看到这里一知半解的,点击两个按钮都会新产生两个p,效果没看出有什么不一样啊,有同学阔以讲解一下吗?

正在回答

6 回答

首先,看代码,

    //给页面上2个p元素都绑定事件

    $('p').click(function(e) {

        alert(e.target.innerHTML)

    })


    $("button:first").click(function() {

        var p = $("p:first").remove();

        p.css('color','red').text('p1通过remove处理后,点击该元素,事件丢失')

        $("body").append(p);

    });


    $("button:last").click(function() {

        var p = $("p:first").detach();

        p.css('color','blue').text('p2通过detach处理后,点击该元素事件存在')

        $("body").append(p);

    });

第一步使用jQuery给p绑定了一个点击事件,在你点击按钮之前先点一下p文本会有弹框出现,

然后你再点击第一个按钮的时候调用了remove()函数, 将第一个p标签删除并转移到下面,再次点击会发现失去了点击效果,

其次再点击第二个按钮,回去调用detach()函数, 将上面剩下的p标签删除并转移到下面,点击时会发现点击事件还在

1 回复 有任何疑惑可以回复我~
#1

石榴笑了 提问者

你这样讲我很快看懂了哈哈哈感谢
2018-09-04 回复 有任何疑惑可以回复我~

谢谢,看了石榴姐的说明才明白。

Thank you.

0 回复 有任何疑惑可以回复我~

删除之前,点击p1和p2都会弹框,删除之后再添加的p1,点击不会弹框,因为remove会连同它的点击弹框方法都删掉,p2则是用detach删除的,只是在页面不显示,内容方法都是保存的,这样再添加 就还是会弹框

0 回复 有任何疑惑可以回复我~
#1

石榴笑了 提问者

谢谢嘻嘻~看懂哩
2018-09-04 回复 有任何疑惑可以回复我~

https://img1.sycdn.imooc.com//5b8cdc500001f47e07490701.jpg添加id再删除

0 回复 有任何疑惑可以回复我~

建议屏蔽这一行再看效果

https://img1.sycdn.imooc.com//5b8cda340001069d07140313.jpg

0 回复 有任何疑惑可以回复我~
#1

我听闻

两个按钮各点一下看效果,点两下看不出效果: 第一个按钮 $("p:first").remove(),一旦p1被删除了,原来p2就是第一个p元素,你再点第一个按钮,p2也被删除;连续点两下第二个按钮也是同样道理。 你也可以给p加个id,通过id去删除,就避免出现连续点两下的情况
2018-09-03 回复 有任何疑惑可以回复我~

两种写法,结果都是一样的

0 回复 有任何疑惑可以回复我~
#1

石榴笑了 提问者

谢谢~
2018-09-04 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

很疑惑,求分享看法

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信