您好,感谢您对火狐的支持
var keycode = ewhich ewhich : ekeyCode;
用这句替换你之前的 然后判断keycode这个变量。
您可以在火狐官方网站下载火狐浏览器,在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
您好!很高兴为您答疑!
火狐不能直接调用 event 对象。 需要通过函数参数传递事件对象。
您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
您好,感谢您对火狐的支持
IE中可以直接使用event的,写windowevent是为了防止在其他浏览器中出错,firefox里的要用参数引导才能用,
如:
onclick="Open(event)"
一般是
function Open(evt)
{
e = windowevent || evt;//兼容所有浏览器
}
您可以在火狐官方网站下载火狐浏览器,在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
一、event对象
IE 中可以直接使用 windowevent 对象,而 FF 中则不可以,解决方法之一如下:
var theEvent = windowevent || argumentscalleecallerarguments[0];
第二种是将 event 作为参数来传递:
function test(event) {
var event = event || windowevent;
//do Something
}
二、关于IE下的eventsrcElement和火狐下的eventtarget
火狐下的etarget相当于ie下的eventsrcElement,表示产生事件的源。
解决 event事件 Firefox "event is not defined" 而IE正常问题
Js代码
documentonkeydown=function mykeyDown(){if(eventkeyCode == 13) {checkData();}
return;
}
以上js代码在IE中运行正常,在Firefox中老报"event is not defined”错误!原因是因为在Firefox中使用了不同的事件对象模型,不同于IE Dom,用的是W3C Dom。Firefox DOM中并无event,采用以下方法解决,同时兼容IE和Firefox。
documentonkeydown=function mykeyDown(e){//compatible IE and firefox because there is not event in firefox
e = e||event;
if(ekeyCode == 13) {checkData();}
return;
}
尊敬的用户,您好!很高兴为您答疑。
在Firefox中直接使用是不可以的,因为event在IE中是一个全局变量,在Firefox中是局部变量,所以在Firefox中使用event对象必须通过参数传递的方式把它传入过程中重新定义eventvar e = windowevent || argumentscalleecallerarguments[0]; function showClientX(event){alert(eventclientX);} showClientX(e);
显然,您已经将其作为对象传入,要想知道为什么没有这个属性,您可以将这个对象的属性和属性值遍历打印出来即可。
希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。
这是因为在火狐浏览器下该对象不可用,同样的使用场景下可以用:windowevent ekeyCode:ewhich; 这样的三元表达式进行判断,然后使用ewhich进行相关 *** 作。
尊敬的用户,您好!很高兴为您答疑
这是一个典型的事件对象兼容的问题,重写是其中一个解决办法。
但是一旦重写,您的代码在多平台上依然会出现兼容性的问题。所以最佳的解决办法是使用jquery等js框架,该类框架对于跨内核的兼容进行了最佳优化,免除了您在跨内核时因为兼容带来的额外工作里和运行风险。
希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。
以上就是关于火狐是不是不支持event.which全部的内容,包括:火狐是不是不支持event.which、js火狐报错event is not defined、如何让火狐浏览器兼容window.event,我在网上查了很多,但都解决我的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)