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

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

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

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

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

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

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