新div不会继承onclick属性

时间:2011-08-04 16:46:41

标签: jquery click

我的div有一个班级cls1

当我点击cls1 div时,会创建一个与此类相同的新div。

但是当我点击新创建的cls1 div时,它不会创建另一个div ...

该类是正确的,因为应用了CSS规则。

我正在使用jQuery。是否有任何理由让新创建的div在单击时不触发click事件?

EDIT1: 我尝试使用append创建新的div,但也创建了一个新的jQuery对象。

4 个答案:

答案 0 :(得分:5)

为此,您需要使用.live().delegate()来绑定事件。这些将事件绑定到新创建的元素。

如果您刚刚使用了.click().bind(),它会绑定当时存在的元素,就是这样。

答案 1 :(得分:4)

bindclick方法仅绑定当前存在的元素。

相反,你应该调用live,它绑定到与选择器匹配的所有元素,无论它们何时被创建。

答案 2 :(得分:2)

你可能正在做这样的事情。

$(".className").click(function() { /* do stuff */})

这将使点击的函数单击那个页面上的那些选择器。您希望使用livedelegate之类的内容,这些内容适用于添加到页面的新内容。这是live的一个例子。

$(".className").live(function() { /* do stuff*/})

Delegate是此概念的较新版本,它具有一些更好的功能,例如允许您绑定到特定的DOM元素。

答案 3 :(得分:0)

这取决于您在div上注册click事件的方式。

每个新创建的div必须注册一个点击回调以创建另一个div

相关问题