在firefox中'event'相当于'

Adi*_*lik 6 javascript firefox jquery javascript-events fullcalendar

我使用以下代码,它在Chrome中运行得非常好.

function dayBind(xyzValue) {
    if(event.type == 'click')
       alert('Mouse Clicked')
}
Run Code Online (Sandbox Code Playgroud)

请注意,没有传递给函数的"event"变量,但在chrome的情况下它仍然可用.但是当我使用firefox时,我的'事件'未定义.我尝试使用以下变通方法:

var e=arguments[0] || event;
Run Code Online (Sandbox Code Playgroud)

也:

var e=window.event || event;
Run Code Online (Sandbox Code Playgroud)

但它们都不适合我.Firefox中是否存在"事件"等价物?

xda*_*azz 10

因为IE和Chrome将事件放在全局对象中window,所以你可以得到它.在firefox中,您需要让第一个参数成为事件.

function dayBind(event, xyzValue) {
    var e=event || window.event;
    if(event.type == 'click')
       alert('Mouse Clicked')
}
Run Code Online (Sandbox Code Playgroud)

  • 我正在处理一个非常庞大而复杂的代码.我不能使用.bind()我只需要以某种方式获取此函数中的事件对象.我想知道为什么在firefox中这么难:( (4认同)

Poi*_*nty 9

如果您使用"onclick"属性设置处理程序(由于您标记了问题"jQuery",您真的应该考虑不这样做),您必须明确地传递它:

<button type=button onclick='whatever(event)'>Click Me</button>
Run Code Online (Sandbox Code Playgroud)