为什么“事件”variables可用,即使没有作为parameter passing?
我想知道为什么下面的代码在一些浏览器中工作? 即使没有参数的click()
函数,但是event
variables存在和dosomething
方法在事件触发器对象上被调用?
$(<selector>).click(function () { $(event.target).<dosomething> });
为什么“事件”variables可用,即使没有作为parameter passing?
这不是,可靠。 例如,该代码将在Firefox上失败。
Microsoft使用全局 event
variables。 DOM2将其定义为处理程序的参数。 Chrome决定抛出MS特定的代码骨头,并做两个。 Firefox没有。
即使在代码工作的浏览器上,请注意event
将是一个原始事件对象,而不是jQuery增强的事件对象。 这意味着,例如,在IE8上,您不能调用event.preventDefault
因为IE8不提供该function。 jQuery会如果你接受的参数,因为jQuery提供了一个具有标准化function的事件对象,即使在浏览器上,这些function缺less这些function。