3

function(){ 和 function(e){ 有什么区别?在整个网络上,我在很多地方都看到过,例如,

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

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

但是谁能清楚地区分这一点?这样我就可以理解了。

4

5 回答 5

5

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

于 2012-09-20T15:58:23.547 回答
2

不同之处在于事件对象被传递给事件函数。您可以在此处找到事件对象的详细信息

  • $('element').bind(function(){})不提供其中的事件对象。

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

现场演示

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

于 2012-09-20T15:58:58.087 回答
0

第二种形式允许您使用与事件关联的Event 对象。

于 2012-09-20T15:59:05.897 回答
0

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

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

于 2012-09-20T15:59:09.590 回答
0

实际上没有区别,除了您将能够访问第二条语句中的“e”对象,它是发送者对象(导致函数被激活的元素)。

于 2012-09-20T15:59:10.680 回答