我的div
有一个班级cls1
。
当我点击cls1
div时,会创建一个与此类相同的新div。
但是当我点击新创建的cls1
div时,它不会创建另一个div ...
该类是正确的,因为应用了CSS规则。
我正在使用jQuery。是否有任何理由让新创建的div在单击时不触发click事件?
EDIT1: 我尝试使用append创建新的div,但也创建了一个新的jQuery对象。
答案 0 :(得分:5)
为此,您需要使用.live()
或.delegate()
来绑定事件。这些将事件绑定到新创建的元素。
答案 1 :(得分:4)
bind
或click
方法仅绑定当前存在的元素。
相反,你应该调用live
,它绑定到与选择器匹配的所有元素,无论它们何时被创建。
答案 2 :(得分:2)
你可能正在做这样的事情。
$(".className").click(function() { /* do stuff */})
这将使点击的函数单击那个页面上的那些选择器。您希望使用live或delegate之类的内容,这些内容适用于添加到页面的新内容。这是live的一个例子。
$(".className").live(function() { /* do stuff*/})
Delegate是此概念的较新版本,它具有一些更好的功能,例如允许您绑定到特定的DOM元素。
答案 3 :(得分:0)
这取决于您在div上注册click事件的方式。
每个新创建的div必须注册一个点击回调以创建另一个div