很多时候我看到jQuery代码看起来像这样:
$('a').live( 'click', function(event){
..
});
事件参数有什么作用?它是对应元素'a'还是事件'live'?
答案 0 :(得分:3)
这意味着页面上的每个锚元素(a
)以及将来任何动态添加的锚元素都会附加一个click事件,它将运行传入函数的任何内容。
jQuery documentation of the live
method
传入的函数的参数event
是点击锚元素的结果。如果您使用Firefox和Firebug,您可以通过执行以下操作来检查此对象:
$("a").live("click", function(event) {
console.dir(event);
});
当您单击锚点时,您将能够在Firebug控制台中看到整个对象。
答案 1 :(得分:3)
我认为您具体询问event
是什么,而不一定是live
函数。 event
是一个jQuery.Event
(http://docs.jquery.com/Events/jQuery.Event)对象,它包含有关事件的大量内容,包括对单击对象的引用。
答案 2 :(得分:1)
event
与HTML中每个'click'
标记上发生的a
事件相关联。它是一个包含鼠标单击的所有相关属性的对象。
live
比仅绑定事件更有效,因为它会将自身附加到在完成所有事件绑定后动态创建的任何a
标记。
答案 3 :(得分:1)
在javascript(不仅仅是特定于jQuery)中,事件对象是描述刚刚发生的事件的对象。 W3C DOM标准指定事件对象是传递给事件处理程序的第一个参数。在IE上,事件对象是一个全局变量。所以在常规的javascript(没有像jQuery这样的库)中,你经常会发现人们写的东西是:
div.onclick = function (event) {
event = event || window.event; // take care of IE
..
}
像jQuery这样的大多数库都会为你解决这个问题,所以你只需要做W3C标准的事情。
事件对象是查找鼠标指针xy位置,按下哪个键等内容的唯一标准机制。