在提出这个问题之后:jQuery die() does not work。我发现live()
似乎不像bind()
。
我有以下一行:
$('.produit').die().live('change',function(){ // the rest
$('.produit').live('change',function(){ // that did not work either
然后我把它改为:
$('.produit').unbind('change').bind('change',function(){ // the rest
这两行之间有什么区别。
在此示例中,.produit
动态添加到页面。绑定在prepend()
之后完成。
我正在使用jQuery 1.4.2和IE7。
答案 0 :(得分:2)
如果您使用IE,则实时和change
事件
搜索解决此问题的livequery
插件。
尝试将事件更改为Click
事件,您会发现它有效。
不同之处在于Bind是针对Already In Page元素,live也是+ Future元素。
答案 1 :(得分:2)
Live 不的行为与bind类似。这是对的。
Live仅为预定义的操作(例如click或keypress)附加处理程序。使用bind,您可以定义自己的事件并在您认为必要时触发它们。
总而言之,最后使用bind
优于live
。这就是为什么在最新的jQuery 1.7(你不使用)中有一些函数on
和off
基本上结合了live
的功能,{ {1}}和bind