为什么“事件”variables可用,即使没有作为parameter passing?

我想知道为什么下面的代码在一些浏览器中工作? 即使没有参数的click()函数,但是eventvariables存在和dosomething方法在事件触发器对象上被调用?

 $(<selector>).click(function () { $(event.target).<dosomething> }); 

One Solution collect form web for “为什么“事件”variables可用,即使没有作为parameter passing?”

为什么“事件”variables可用,即使没有作为parameter passing?

这不是,可靠。 例如,该代码将在Firefox上失败。

Microsoft使用全局 eventvariables。 DOM2将其定义为处理程序的参数。 Chrome决定抛出MS特定的代码骨头,并做两个。 Firefox没有。

即使在代码工作的浏览器上,请注意event将是一个原始事件对象,而不是jQuery增强的事件对象。 这意味着,例如,在IE8上,您不能调用event.preventDefault因为IE8不提供该function。 jQuery会如果你接受的参数,因为jQuery提供了一个具有标准化function的事件对象,即使在浏览器上,这些function缺less这些function。

  • 如何使用jQueryselect所有textareas和文本框?
  • 垂直滚动条出现时,如何停止我的Web内容左移? 总结2017年的build议
  • 更改哈希,而无需在jQuery中重新加载
  • 在jQuery中,$ .fn是什么? 意思?
  • jQuery:在blur()事件之前点击fire()
  • 使用AJAX和jQuery提交表单
  • 页面加载时是否可以从文本input中删除焦点?
  • jQuery ajax调用默认的超时值
  • 如何在jQuery UI Datepicker中将minDate设置为当前date?
  • 在茉莉花间谍jQueryselect器
  • 使用jQuery $ .ajax来调用一个PHP函数