`
zwh910621
  • 浏览: 143526 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Firefox不支持event解决方法

阅读更多

//火狐上的用调试的小问题。alert();的使用

alert();当里面没有参数时会在火狐中无法运行,IE可以。

alert('');有参数火狐才会执行,在火狐调试时要特别注意。

-----------------------------------------------------------------------------------------------------

 

1)event

 

event.srcElement从字面上可以看出来有以下关键字:事件,源他的意思就是:当前事件的源,

 

我们可以调用他的各种属性就像:document.getElementById(")这样的功能,

 

经常有人问firefox 下的event.srcElement 怎么用,在此详细说明:

 

IE,event对象有srcElement属性,但是没有target属性;Firefox,event对象有target属性,但是没有srcElement属性.但他们的作用是相当的,即:

 

firefox 下的event.target = IE 下的event.srcElement

 

解决方法:使用obj(obj = event.srcElement ? event.srcElement : event.target;)来代替IE下的event.srcElement或者Firefox下的event.target.

http://www.firefox.hk

 

IE 中可以直接使用event 对象,而FF 中则不可以,解决方法之一如下:

var theEvent = window.event || arguments.callee.caller.arguments[0];

 

第二种是将event 作为参数来传递:

function xxx(e){var theEvent = window.event || e;}

 

srcElement target

 

IE srcElement 表示产生事件的源,比如是哪个按钮触发的onclick 事件,FF 中则是target

 

var theEvent = window.event || arguments.callee.caller.arguments[0];

var srcElement = theEvent.srcElement;

if (!srcElement){

    srcElement = theEvent.target;

}

 

例子:

 

document.onclick = function(e){

    var theEvent = window.event || e;

    var srcElement = theEvent.srcElement;

    if (!srcElement) {

       srcElement = theEvent.target;

    }

}

 

function clickAction(){

    var theEvent = window.event || arguments.callee.caller.arguments[0];

    var srcElement = theEvent.srcElement;

    if (!srcElement) {

       srcElement = theEvent.target;

    }

    // do something;

}

 

function clickAction(e){

    var theEvent = window.event || e;

    var srcElement = theEvent.srcElement;

    if (!srcElement) {

       srcElement = theEvent.target;

    }

    // do something;

}

 

event.keyCode event.which

 

FF不支持window.event.keyCode,代替着是event.which

 

列子:

 

//在网页上面屏蔽tab键的代码

document.onkeydown = function (e){

    var theEvent = window.event || e;

    var code = theEvent.keyCode || theEvent.which;

    if(code == 9){

       return false;

    }

}

 

2)document.all

 

document.alliedom标准确立之前的一个得到元素的一个集合,根据idname,的一个元素大集合,后来DOM标准确定了,getElementById逐渐慢慢取代了all对象集的地位,但是firefox为了兼容一些为ie写的使用document.all的脚本,不得已,加入了document.all支持,但是也不支持if(document.all)判断,并且在有正确xhtmldoctype下会屏蔽使用document.all

 

3)event

 

window.event //IE

 

//FF

 

e = window.event || e

 

3)判断页面加载完成

 

IE: document.onreadystatechange=function(){document.readyState=="complete"}

 

FF: document.addEventListener("DOMContentLoaded",handle,false)

当某一事件被触发时需要执行某个函数,在IE下可用attachEvent,在FF下则要用addEventListener

attachEvent()有两个参数,第一个是事件名称,第二个是需执行的函数;

addEventListener()有三个参数,第一个是事件名称,但与IE事件不同的是,事件不带"on",比如"onsubmit"在这里应为"submit",第二个是需执行的函数,第三个参数为布尔值;

来源站长吧- http://www.master8.net/data/2007/0620/article_10074.htm

 

4)设置容器位置lefttop

 

IE:可以不用加单位px

FF:一定要加单位px

-------------------------------------------------------------------------------------------

//一种用来输入整数的方法。

IsInt:<input type="text" onkeyup="isInt(event);">

//是否整型

function isInt(e){

    //keyCode:IE支持,which:FF支持。

    var theEvent = window.event || e;

    var code = theEvent.keyCode || theEvent.which;

 

    if(code<48 || code>57){

       //alert(code);//srcElement:IE支持,target:FF支持

       var val = e.srcElement ? e.srcElement : e.target;

       val.value = val.value.substring(0,val.value.length-1);

    }

}

---------------------------------------------------------------------------------------------

// "||":也可以用来赋值,在FF中没有window.event,要对象赋对象。isInt(event);

function isInt(e){

    var oEvent = e || window.event//用来判断是IE或者FF,并赋值给对象。

    var oTarget = oEvent.target || oEvent.srcElement; //用来取IE或者FF的对象。

}

分享到:
评论

相关推荐

    火狐浏览器不支持window.event的解决办法

    火狐浏览器不支持window.event的解决办法,解决不同浏览器针对window.event的差异

    让Firefox支持event对象实现代码

    通常为了兼容IE与FireFox,一般的事件处理方法为: 代码如下: btn.onclick=handle_btn_click; function handle_btn_click(evt){ if(evt==null)evt=window.event;//IE //处理事件. } 对于简单的程序,这不算麻烦. 但对于...

    解决Firefox下不支持outerHTML问题代码分享

    随着科技的日新月异,各种浏览器层出不穷,最近的项目要求对同时支持IE和FireFox等各种浏览器,为此深受其苦,尤其是对于我这个习惯了使用诸如:"event.srcElement"、"outerHTML"、"parentElement"的人来说。...

    JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结

    1.兼容firefox的 outerHTML,FF中没有outerHtml的方法。 代码如下: if (window.HTMLElement) { HTMLElement.prototype.__defineSetter__(“outerHTML”,function(sHTML) { var r=this.ownerDocument.createRange(); ...

    text-field-edit:将文字插入和&lt;input&gt;(在可能的情况下支持Firefox和Undo)

    它在Chrome(具有撤消支持)中使用document.execCommand('insertText') ,并在Firefox中复制其行为(在解决之前没有撤消支持)。 如果需要IE支持,请使用 。 安装 您可以下载 或使用npm : npm install text-...

    self.attachevent is not a function的解决方法

    self.attachevent is not a function其实就是以前的代码, 没有做chrome、firefox浏览器兼容导致。 self.attachEvent("onblur",function(){dd.style.display="none"}) 上面的代码在chrome浏览器肯定会报错的。 因为...

    javascript中IE浏览器不支持NEW DATE()带参数的解决方法

    在火狐下 可以正常取得时间,在IE7下 却是 NaN。纠结老长时间,放弃了new date 然后再老外的论坛中找了一段段代码可以兼容所有浏览器的格式化日期代码: 代码如下: function NewDate(str) { str = str.split(‘-‘);...

    浏览器兼容的JS写法总结

     (1)现有问题:Firefox不支持document.all[name]  (2)解决方法:使用getElementsByName(name),getElementById(id)等来替代。 2. 集合类对象问题  (1)现有问题:IE中对许多集合类对象取用时可以用 (),但在Fire...

    从零开始学习JQuery

    javascript脚本在不同浏览器的兼容性一直是Web开发人员的噩梦, 常常一个页面在IE7,Firefox下运行正常, 在IE6下就出现莫名其妙的问题. 针对不同的浏览器编写不同的脚本是一件痛苦的事情. 有了jQuery我们将从这个噩梦...

    功能非常全面的一个论坛源码

    223. 改进菜单功能,对firefox等浏览器支持得更稳定,并开始支持多菜单功能 226. 附件图片缩略图现在开始允许自定义高宽 227. 允许设定附件最多允许同时上传的数量 229. 附件相关的模块作了大变动 - 支持比如...

    ExtAspNet_v2.3.2_dll

    支持的浏览器: IE 7.0+, Firefox 3.0+, Chrome 2.0+, Opera 9.5+, Safari 3.0+ 注:ExtAspNet基于一些开源的程序ExtJS, HtmlAgilityPack, Nii.JSON, YUICompressor。 示例: http://extasp.net/ 开源: ...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    支持的浏览器: IE 7.0+, Firefox 3.0+, Chrome 2.0+, Opera 9.5+, Safari 3.0+ 注:ExtAspNet基于一些开源的程序ExtJS, HtmlAgilityPack, Nii.JSON, YUICompressor。 示例: http://extasp.net/ 开源: ...

    IBM WebSphere Portal门户开发笔记01

    48、JS解决COOKIE跨域访问的问题之方法一 323 49、JS禁止复制网页代码 324 50、JS 禁止剪切、复制、粘贴的文本框代码 326 51、如何禁止火狐浏览器的右键功能 327 52、IE地址栏前换成自己的图标 327 53、关闭输入法 ...

    大名鼎鼎SWFUpload- Flash+JS 上传

    在FireFox中,如果窗口的滚动条没有回滚到顶部,那么Flash无法加载 Race-conditions when files are cached 兼容ASP.Net Forms SWFUpload v2 延续了SWFUpload的设计目标,将UI分离以交给开发人员控制和后续扩展 ...

    asoft签到管理系统tykq3.5_build20110125

    8、系统浏览器兼容性调整完毕,现在您可以在IE、firefox和遨游、腾讯TT等浏览器上正常使用本程序了 [2009-5-10] v3.1 beta1 1、部分功能ajax化 2、验证机制cookies化 3、界面UI更换 [2009-1-7] v 3.0 PACK3 ...

    图库新版jQuery焦点图 JS代码

    tips[27] = '“放之四海皆准则”的是真理,真理并不是一种方法,没有一种方法能解决所有的问题;掌握真理,而不是掌握某种方法。'; tips[28] = '在理解的基础上借鉴,就是站在巨人的肩膀之上;没有区分的全盘抄袭,...

Global site tag (gtag.js) - Google Analytics