我有一个类似的代码,在那里我指定功能的点击甚至改变风格动态选择
$(".style1, .style2", "#section").click(function() {
changeStyle($(this));
});
它可能发生,从STYLE1到蓝紫魅力的项目变化,所以项目应该仍然是可点击的,但这些操作不会生效。似乎项目列表$(“。style1,.style2”,“#section”)是在加载时创建的,并且当我将阶梯更改为包含新元素时不会更新。
我试图把粘贴的代码放到一个功能,并在功能changeStyle
结束调用它,但是这增加了另一种触发因素,所以当我在其他项目单击与style1
或style2
,动作触发2,3 , 4次。而我只有一次触发一次。
我该如何解决?
感谢您的帮助。
这也可以起作用,但现在有很多关于'.live()'与'.delegate()'甚至是'vanilla'.bind()'相对的讨论。直到最近我才知道他们! http://stackoverflow.com/questions/4204316/jquery-live-vs-delegate – 2011-04-25 10:20:43
非常感谢你安迪,这解决了我的问题。它也适用于'function(){changeStyle($(this)); }' – David 2011-04-25 10:40:43
感谢Richard对于讨论的链接和你的回答。非常有用! – David 2011-04-25 10:48:16