`
奥义之舞
  • 浏览: 284904 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JavaScript 动态添加事件 和 获取Event (兼容IE和Firefox)

 
阅读更多

 

1、直接给对象添加事件
document.all.Object.ondblclick=function(){方法};

2、通过监听方式添加事件,多事件可并存,按添加顺序执行。
if(window.addEventListener)
    // Mozilla, Netscape, Firefox
    Object.addEventListener("click", function(){方法}, false);
else if(window.attachEvent)
    // IE
    Object.attachEvent("onclick", function(){方法});

else
    // Other

    Object.onclick= function(){方法};

例子:

 

function srchtxtAddOnKeyPress()
{
    if(window.addEventListener)
    { 
        //其它浏览器的事件代码: Mozilla, Netscape, Firefox
        //添加的事件的顺序即执行顺序 //注意用 addEventListener 添加带on的事件,不用加on 
        document.getElementById('srchtxt').addEventListener('keypress', keyPressEvt, false);
    }
    else
       {
         //IE 的事件代码 在原先事件上添加 add 方法
          document.getElementById('srchtxt').attachEvent('onkeypress',keyPressEvt);
      }
}

 

3、获取Event

 

//判斷當事件keyCode值為13時觸發登錄事件
	userLoginPasd.onkeydown = function(e){
		var e = e || window.event;
		if(e.keyCode == 13){
			login();
		} 
	}
 

 

 下面提供同时兼容IE和Firefox的获得event对象的方法,在需要用到event对象的地方,调用该方法即可.

function getEvent() //同时兼容ie和ff的写法
    { 
        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;
    } //如调用:
document.onclick=function(){

var evt=getEvent();
alert(evt);
}
   

 

 

 

 

分享到:
评论
1 楼 panshunchang 2015-07-22  
感谢分享代码
非常实用,很好!

相关推荐

    event兼容调用(IE,Firefox,Chrome)

    本文将深入探讨在Internet Explorer(IE)、Firefox、Chrome三大主流浏览器中实现event兼容调用的方法,重点解析事件对象的获取及鼠标坐标获取的差异。 #### 事件对象的兼容性获取 在JavaScript中,事件处理通常...

    同时兼容IE和FireFox的事件处理event代码--添加文件上传例子

    "同时兼容IE和FireFox的事件处理event代码--添加文件上传例子"这个主题聚焦于解决浏览器之间的差异,尤其是针对老版本的Internet Explorer(IE)和Firefox。在这些早期浏览器中,事件处理的实现方式有所不同,导致...

    Javascript的IE和Firefox兼容性参考

    `来兼容IE和Firefox。 4. **HTML对象的id作为对象名的问题** - IE允许直接通过对象的id作为变量名访问,如`idName`,但在Firefox中需要使用`document.getElementById("idName")`。 5. **用idName字符串取得对象的...

    Javascript的IE和Firefox兼容性问题集合

    然而,由于不同的浏览器对JavaScript的支持程度和实现方式存在差异,尤其是Internet Explorer(IE)和Firefox这两款流行浏览器,开发者经常需要面对兼容性问题。以下是一些常见的JavaScript在IE和Firefox上的兼容性...

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

    标题与描述均聚焦于“JavaScript在IE和Firefox(火狐)的不兼容问题解决”,这表明文章旨在探讨并提供解决方案来处理在不同浏览器环境下的JavaScript兼容性问题,尤其是在Internet Explorer(IE)和Mozilla Firefox...

    Javascript的IE和Firefox(火狐)兼容性

    ### Javascript的IE与Firefox(火狐)兼容性解决方案 在Web开发过程中,浏览器兼容性问题一直是开发者们关注的重点之一。由于不同的浏览器对于Web标准的支持程度存在差异,这导致了同样的代码在不同浏览器中的表现...

    Javascript在IE和FireFox中的兼容处理

    - IE允许在DOM元素上直接添加非标准属性,如`element.selfAttr`,而Firefox则需要通过`element.getAttribute('selfAttr')`获取。 3. **对象获取** - IE支持`document.all`来获取所有元素,Firefox则不支持。应...

    javascript在IE和Firefox中兼容性问题

    本文将深入探讨在IE和Firefox中常见的JavaScript兼容性问题,旨在帮助开发者了解并解决这些差异带来的挑战。 #### 一、DOM元素获取的兼容性差异 1. **`document.all`与`document.getElementsByName`和`...

    javascript在firefox与ie下的兼容性总结

    JavaScript在Firefox和IE之间的兼容性问题一直是前端开发者面临的一大挑战。由于这两个浏览器内核的不同,导致在处理某些JavaScript特性时存在差异。以下是一些常见的兼容性问题及其解决方案: 1. **Document.form....

    兼容IE和Firefox获得keyBoardEvent对象

    兼容IE和Firefox获得keyBoardEvent对象 在 JavaScript 编程中,获得keyBoardEvent对象是非常重要的,但是不同的浏览器对其支持不同。IE和Firefox是两种最常用的浏览器,它们对keyBoardEvent对象的支持存在一定的...

    Javascript的IE和Firefox兼容性汇编 .txt

    特别是对于早期版本的Internet Explorer (IE) 和 Firefox (MF),由于它们对JavaScript的支持存在差异,因此开发者需要特别注意以确保网页脚本能够兼容这些浏览器。本文将详细探讨在编写JavaScript时遇到的一些常见...

    Javascript的IE和Firefox兼容性.doc

    为兼容IE和Firefox,可以使用`event.clientX`和`event.clientY`,它们在大部分情况下等价于`event.pageX`和`event.pageY`,但要注意页面滚动的影响。如果需要精确匹配,可能需要额外计算。 7. **关于`frame`** - ...

    javascript的IE和Firefox兼容性汇编

    ### JavaScript的IE与Firefox兼容性解决方案 #### 一、`document.form.item` 问题 - **现有问题**:代码中存在大量使用 `document.formName.item("itemName")` 的语句,这种写法在 Mozilla Firefox(简称MF)...

    javascript 旋转图片 兼容IE和FireFox

    在JavaScript中实现图片旋转功能,尤其需要兼容IE和Firefox浏览器,是一项常见的前端任务。这篇文章将深入探讨这个主题,包括核心概念、技术难点以及如何通过提供的文件实现这一功能。 首先,我们要知道图片旋转的...

    BlueBala » 兼容IE和Firefox的事件模型(拖动)

    通过这种方式,我们可以创建一个兼容IE和Firefox的拖动事件模型。这个模型不仅适用于拖动,还可以扩展到其他需要跨浏览器事件处理的场景。记住,兼容性是Web开发中的重要课题,理解和掌握各种浏览器的差异对于构建...

    JavaScript实现弹出层的移动 兼容IE和Firefox

    在标题"JavaScript实现弹出层的移动 兼容IE和Firefox"中,我们可以看到主要涉及的是JavaScript动态改变HTML元素位置的技术,并且这个技术已经考虑到了浏览器兼容性问题,包括Internet Explorer(IE)和Mozilla Fire...

    ie firefox 兼容问题大全

    ### IE与Firefox兼容性问题详解 #### 一、概述 在网页开发过程中,浏览器兼容性问题一直是前端开发者面临的重要挑战之一。尤其是对于早期版本的Internet Explorer(简称IE)与Mozilla Firefox(简称Firefox)来说...

    javascript验证只能输入数字(兼容IE和火狐)

    只能输入数字(兼容IE和火狐) ()"> <p id="result"></p> <script src="validateNumber.js"></script> ``` 接下来,我们需要编写JavaScript代码来实现验证功能。由于IE浏览器不支持`event.target.value`,...

    javascript option onclick事件ie解决方案 兼容ie,firefox

    JavaScript Option onclick 事件 IE 解决方案及兼容 IE 和 Firefox JavaScript 中的 Option onclick 事件是用户在Select 元素中选择一个选项时触发的事件,但是在 Internet Explorer(IE)浏览器中,该事件无法正确...

Global site tag (gtag.js) - Google Analytics