FF代替IE的window.event的方法,不用带参

mac2022-06-30  88

原先写js的时候没注意浏览器兼容问题,见window.event用得爽就狂用,发现问题时为时已晚,N多页面都是直接用了。在网上搜了好多让火狐兼容window.event的方法。大同小异都是要调用函数时带个参数。最简单的是下面这样滴。

function testEvent(e){ Evt=window.event?window.event:e alert(Evt);}<a οnclick="testEvent(event)">test</a>

虽然只是多加一个参考,但那足以让我不爽……因为之前写页面时忘了考虑兼容,如果要加参数的话我要一个个改到哭死。不好还好,篇了好多页后终于找到了不用带参的方法(真不明白有用的资源竟排不到第一页)以下是代码:

function getEvent(){if(document.all) return window.event; func=getEvent.caller; while(func!=null){ var arg0=func.arguments[0]; if(arg0){ if((arg0.constructor==Event || arg0.constructor ==MouseEvent) || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)){ return arg0; } } func=func.caller; } return null; }//测试event函数function testEvent(){var Evt = getEvent(); alert(Evt);}<a οnclick="testEvent(event)">test</a>

具体原理懒得打上来了,反正我自己也懒得看。偷懒偷懒。

转载于:https://www.cnblogs.com/pelephone/archive/2009/04/27/window-javascript-event.html

相关资源:连接二值图像中断开的点
最新回复(0)