Jquery clone(true) - 但我更改了元素类名

时间:2016-02-11 07:40:16

标签: jquery

克隆(真)

当我点击下面Clone句子的Clone, how are you?文字时 但我已将班级从b改为然后

output is coming:
    B Handler for .click() called.
    A Handler for .click() called.

我从b到changed the classname,然后为什么它不会仅A Handler for .click() called.警报? Why it is happening?

克隆()

当我点击下面Clone的{​​{1}}文字时,

Clone, how are you?

HTML

output is coming:
A Handler for .click() called.

JS

<h3>Click on the bold 'Clone' text to see the issue</h3>
<br/>

<!-- We will focus on the below HTML markup -->
<b class='b'>Clone</b>
<p>, how are you?</p>

这是Working Demo on jsFiddle

1 个答案:

答案 0 :(得分:1)

因为您使用了clone(true),所以它会将附加的事件处理程序和数据复制到新对象。连接处理程序后,选择器中所做的任何更改都不会影响添加的处理程序。

当您使用委托事件处理程序时,在事件发生时懒惰地评估选择器,因此它可以对对选择器属性所做的任何更改做出反应