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

3
什么是function(){}和function(e){}之间的区别?在网络上,我看到了很多地方像这样, $('element').bind(function(){});
和 $('element').bind(function(e){});
但有人能清楚地区分它们吗?以便我可以理解。

这里的 eevent 对象。 - Ram
5个回答

5
我认为文档已经解释得很清楚了。两种方式都可以接受,但是如果你需要访问事件对象,那么你应该传递该参数。否则,它们在功能上是相同的。

2
区别在于事件对象是否传递到事件函数中。您可以在此处找到有关事件对象的详细信息:这里
  • $('element').bind(function(){}) 不会在其中提供事件对象。

  • $('element').bind(function(e){}) 提供事件对象,可以通过 e.target 确定引起事件的来源,并提供像 stopPropagation() 等方法。

演示实例

在此演示实例中,如果没有事件对象,您将无法获取被单击的 td 的 id。


请给我一个例子。 - Stranger

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

0

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

基本上,它可供使用,但您可以选择是否将其包含在处理程序函数中。


0

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


在jQuery中,this是“发送者对象”,而不是e - pimvdb
抱歉,正如其他人所说,e是事件对象。 - Chris Dixon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接