兼容IE和Firefox的event对象
比如在IE中可以这样vara=window.event.clientX;但在Firefox中这样却没有办法,怎样获取一个兼容的event对象呢?谢谢大家!比如我可以在IE...
比如在IE中可以这样 var a=window.event.clientX;
但在Firefox中这样却没有办法,怎样获取一个兼容的event对象呢?
谢谢大家!
比如我可以在IE中alert(event.clientX);
但在firefox这样就不行,比较妥善的做法是
var obj=window.event;//这样
//但是这个只能在ie中得到值,如果我想在firefox中获得这个obj.那么var obj=??????????//这里该怎么写呢? 展开
但在Firefox中这样却没有办法,怎样获取一个兼容的event对象呢?
谢谢大家!
比如我可以在IE中alert(event.clientX);
但在firefox这样就不行,比较妥善的做法是
var obj=window.event;//这样
//但是这个只能在ie中得到值,如果我想在firefox中获得这个obj.那么var obj=??????????//这里该怎么写呢? 展开
展开全部
尊敬的用户,您好!很高兴为您答疑
这是一个典型的事件对象兼容的问题,重写是其中一个解决办法。
但是一旦重写,您的代码在多平台上依然会出现兼容性的问题。所以最佳的解决办法是使用jquery等js框架,该类框架对于跨内核的兼容进行了最佳优化,免除了您在跨内核时因为兼容带来的额外工作里和运行风险。
希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。
这是一个典型的事件对象兼容的问题,重写是其中一个解决办法。
但是一旦重写,您的代码在多平台上依然会出现兼容性的问题。所以最佳的解决办法是使用jquery等js框架,该类框架对于跨内核的兼容进行了最佳优化,免除了您在跨内核时因为兼容带来的额外工作里和运行风险。
希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP...
点击进入详情页
本回答由Storm代理提供
展开全部
您说的太深奥,能解释一下event对象是什么吗?
补充:我知道了,目前在火狐上只有安装一个重要的扩展
IE Tab 1.3.3.20070528 就能解决,这可以在火狐上实现双引擎的,使用这个扩展,在火狐打开不好的情况下可以调用IE引擎打开,非常方便。在使用火狐上网的时候按照这个网址直接安装。这是安装地址:http://addons.mozine.cn/firefox/53/
祝你好运,我只能帮这么多了。
补充:我知道了,目前在火狐上只有安装一个重要的扩展
IE Tab 1.3.3.20070528 就能解决,这可以在火狐上实现双引擎的,使用这个扩展,在火狐打开不好的情况下可以调用IE引擎打开,非常方便。在使用火狐上网的时候按照这个网址直接安装。这是安装地址:http://addons.mozine.cn/firefox/53/
祝你好运,我只能帮这么多了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
重写event事件..PS这是别人写的,呵呵,自己拿来用还挺好
<script>
/*firefox*/
function __firefox(){
HTMLElement.prototype.__defineGetter__("runtimeStyle", __element_style);
window.constructor.prototype.__defineGetter__("event", __window_event);
Event.prototype.__defineGetter__("srcElement", __event_srcElement);
}
function __element_style(){
return this.style;
}
function __window_event(){
return __window_event_constructor();
}
function __event_srcElement(){
return this.target;
}
function __window_event_constructor(){
if(document.all){
return window.event;
}
var _caller = __window_event_constructor.caller;
while(_caller!=null){
var _argument = _caller.arguments[0];
if(_argument){
var _temp = _argument.constructor;
if(_temp.toString().indexOf("Event")!=-1){
return _argument;
}
}
_caller = _caller.caller;
}
return null;
}
if(window.addEventListener){
__firefox();
}
/*end firefox*/
</script>
<script>
/*firefox*/
function __firefox(){
HTMLElement.prototype.__defineGetter__("runtimeStyle", __element_style);
window.constructor.prototype.__defineGetter__("event", __window_event);
Event.prototype.__defineGetter__("srcElement", __event_srcElement);
}
function __element_style(){
return this.style;
}
function __window_event(){
return __window_event_constructor();
}
function __event_srcElement(){
return this.target;
}
function __window_event_constructor(){
if(document.all){
return window.event;
}
var _caller = __window_event_constructor.caller;
while(_caller!=null){
var _argument = _caller.arguments[0];
if(_argument){
var _temp = _argument.constructor;
if(_temp.toString().indexOf("Event")!=-1){
return _argument;
}
}
_caller = _caller.caller;
}
return null;
}
if(window.addEventListener){
__firefox();
}
/*end firefox*/
</script>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
下载个IE TAB插件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询