function(){和function(e){之间的区别{

时间:2012-09-20 15:56:52

标签: jquery

function(){和function(e){有什么区别?在整个网络上,我已经在许多地方看到了,

$('element').bind(function(){});

$('element').bind(function(e){});

但任何人都可以清楚地区分这一点吗?所以我可以理解。

5 个答案:

答案 0 :(得分:5)

我认为documentation很好地解释了它。两者都可以接受,但如果您需要访问event对象,那么您应该传递该参数。否则,它们在功能上是一样的。

答案 1 :(得分:2)

不同之处在于事件对象被传递给事件函数。您可以找到事件对象 here

的详细信息
  • $('element').bind(function(){})未在其中提供事件对象。

  • $('element').bind(function(e){})提供的事件对象可用于确定e.target导致事件的来源,并提供stopPropagation()等方法。

<强> Live Demo

在现场演示中,您将无法在没有事件对象的情况下获取td的id。

答案 2 :(得分:0)

第二种形式允许您使用与活动相关联的Event object

答案 3 :(得分:0)

e只是从调用代码(jQuery)传递给处理程序的事件对象..但是你可以选择是否要在你的处理程序中使用它。

基本上它可以使用,但是你可以将它包含在你的处理函数中。

答案 4 :(得分:0)

除了你能够访问第二个语句中的“e”对象之外,实际上没有什么区别,后者是发送者对象(导致该功能被激活的元素)。