我认为这是一个错误,但从1.4.2开始,.live()
应该支持自定义事件。这是一个快速的小演示:http://jsbin.com/erofi/edit
这是一个错误,还是我的触发器出错?
答案 0 :(得分:2)
.live()
。在事件时检查事件目标元素是否与选择器字符串匹配。这在文档'警告'中暗示:
不完全支持DOM遍历方法来查找要发送到.live()的元素。相反,应始终在选择器之后直接调用.live()方法,如上例所示。
$(document)
不是选择器。如果查看$(document).selector
,即live()
用于匹配的记忆选择器字符串,则会得到一个空字符串,因此live()
无法正常工作。
由于选择器只匹配元素,因此您不能live
- 绑定document
。再说一遍,因为document
永远不会改变,所以没有必要:正常的绑定就可以了。
(这是一个不幸的API设计。应该是$.live('selector', 'event', function() {});
IMO。$('selector').live()
不清楚它实际上在做什么。当你拨打live()
时肯定会出错在没有选择器的包装器上。)
答案 1 :(得分:0)
我认为你不能将事件委托给'文件'
不完全确定,但我认为.live()
到目前为止不会起泡。
尝试.bind()
和.trigger()
到document.body