IE中的事件对象

1)type属性 用于获取事件类型

2)srcElement属性 用于获取事件的目标

3)cancelBubble属性 用于阻止事件冒泡

  设置为true表示阻止事件冒泡  设置为false表示不阻止冒泡

4)returnValue属性 用于阻止事件的默认行为

设置为false表示阻止事件的默认行为

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>Document</title>
    <script src="script.js"></script>
    <script src="event.js"></script>

<script type="text/javascript">
//dom中的事件对象:
    //type属性获取事件类型
    //target获取事件目标
    //stopPropagation阻止事件冒泡(最具体的元素接收)
    //preventDefault()阻止事件的默认行为

// window.onload=function(){
//     var btn2=document.getElementById(‘btn2‘);
//     btn2.onclick=function(){
//         alert(‘这个是dom0级添加的事件‘)
//     }
// btn2.onclick=null;
   // var btn3=document.getElementById(‘btn3‘);
   /*  btn3.addEventListener(‘click‘,showMessage,false);
    btn3.addEventListener(‘click‘,function(){
        alert(this.value)
    },false);*/
    // btn3.removeEventListener(‘click‘,showMessage,false);
    // btn3.attachEvent(‘onclick‘,showMessage)

// }
// function showMessage(event){
//     event=event || window.event;
//     var ele=event.target||event.srcElement;
//     alert(ele);
//     //alert(ev.target.nodeName);//目标节点名称//target获取事件目标//type获取事件类型
//     ev.stopPropagation();//阻止事件冒泡(最具体的元素接收)
// }
// function showBox(){
//     alert("这是一个box")
// }
// function stopGoto(event){
//     event.stopPropagation();
//     event.preventDefault();
// }

</script>
</head>
<body>
<div id="box">
    <input type="button"  value="按钮" id="btn" onclick="showMessage()"/>
    <input type="button" value="按钮2" id="btn2"/>
    <input type="button" value="按钮3" id="btn3"/>
    <a href="evnt.html" id="go">跳转</a>
</div>
<script>
// var btn3=document.getElementById(‘btn3‘);
// var box=document.getElementById(‘box‘);
// eventUtil.addHandler(btn3,‘click‘,showMessage);
// eventUtil.addHandler(box,‘click‘,showBox);
// eventUtil.addHandler(go,‘click‘,stopGoto);
// eventUtil.removeHandler(btn3,‘click‘,showMessage);
</script>
</body>

</html>
window.onload=function(){
    var go=document.getElementById(‘go‘),
        box=document.getElementById(‘box‘);
    eventUtil.addHandler(box,‘click‘,function(){
        alert(‘我是整个父盒子‘);
    });
    eventUtil.addHandler(go,‘click‘,function(e){//接收事件event
        //e=e||window.event;
        e=eventUtil.getEvent(e);//返回event
        alert(eventUtil.getElement(e).nodeName);
        eventUtil.preventDefault(e);
        eventUtil.stopPropagation(e);
    });
}
var eventUtil={
        //添加句柄
        // var element,type,handler;
        addHandler:function(element,type,handler){
            if(element.addEventListener){//dom二级
                element.addEventListener(type,handler,false)
            }else if(element.attachEvent){//IE
                element.attachEvent(‘on‘+type,handler);
            }else{//dom0级
                element[‘on‘+type]=handler;//element.onclick===element[‘onclick‘]
            }
        },//对象的属性用“,”分隔

    //删除句柄
        removeHandler:function(element,type,handler){
            if(element.removeEventListener){//dom二级
                element.removeEventListener(type,handler,false)
            }else if(element.detachEvent){//IE
                element.detachEvent(‘on‘+type,handler);
            }else{//dom0级
                element[‘on‘+type]=null;//element.onclick===element[‘onclick‘]
            }
        },
        getEvent:function(event){
            return event?event:window.event;
        },
        getType:function(event){
            return event.type;
        },
        getElement:function(event){
            return event.target || event.srcElement;
        },
        preventDefault:function(event){
            if(event.preventDefault){
                event.preventDefault();
            }else{
                event.returnValue=false;
            }
        },
        stopPropagation:function(event){
            if(event.stopPropagation){
                event.stopPropagation();
            }else{
                event.cancelBubble=true;
            }
        }
    }
    
时间: 2024-10-12 19:51:53

IE中的事件对象的相关文章

js事件对象--DOM中的事件对象/IE中的事件对象/跨浏览器的事件对象

事件对象    在触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含着所有与事件有关的信息.包括导致事件的元素.事件的类型,以及其他与特定事件相关的信息.例如,鼠标操作导致的事件对象中,会包含鼠标位置的信息,而键盘操作导致的事件对象中,会包含与按下的键有关的信息.所有浏览器对象都支持event对象,但支持方式不同. DOM中的事件对象 兼容DOM的浏览器会将一个event对象传入到事件处理程序中.无论指定事件处理程序时使用什么方法(DOM0级或DOM2级),都会传入event

JavaScript中的事件对象

JavaScript中的事件对象 JavaScript中的事件对象是非常重要的,恐怕是我们在项目中使用的最多的了.在触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含这所有与事件有关的信息.下面将会讲到DOM中的事件对象.IE中的事件对象以及跨浏览器的事件对象三个部分. 对于事件处理程序,大家可以看我的博文<JavaScript中的五种事件处理程序>. 第一部分:DOM事件对象 兼容DOM的浏览器会将一个event对象传入到事件处理程序中,无论是HMTL特性.DOM0级还是

事件对象——IE中的事件对象

总结: 1.IE浏览器中有三种事件处理程序:HTML事件处理程序,DOM0级事件处理程序,IE事件处理程序. 2.IE浏览器中的HTML事件处理程序调用事件对象:直接调用event变量: onclick=“alert(event.type);” 3.IE浏览器中的DOM0级事件处理程序通过调用window.event得到事件对象: btn.onclick=()=>{ var event=window.event; } 4.IE浏览器中的IE事件处理程序通过传入事件参数得到事件对象: btn.at

javaScript中的事件对象event

事件对象event,每当一个事件被触发的时候,就会随之产恒一个事件对象event,该对象中主要包括了关于该事件的基本属性,事件类型type(click.dbclick等值).目标元素target(我的理解是事件源对象,即触发该事件的dom元素)等,以及一些与该事件相关的方法.取消事件默认行为preventDefault().组织事件继续冒泡或捕获stopPropagation()等等,这里我仅仅列举了,项目中我用到的属性和方法. 既然事件被触发.就随之产生了一个event对象.笔者在IE中測试了

JS中的事件(对象,冒泡,委托,绑定)

- 事件,是文档或浏览器窗口中发生的一些特定的交互瞬间,JS与HTML之间的交互是通过事件实现的 对于web应用来说,有下面这些代表性事件:点击事件,鼠标移动,按下键盘等等 - 事件,是用户和浏览器之间的交互行为 我们可以在事件对应的属性中设置一些js代码,当事件被触发时,这些代码会执行 文档的加载: 浏览器在加载一个页面时,是按照自上而下的顺序加载的, 读取到一行就运行一行,在代码执行时,页面还没有加载 将js代码编写到页面的下面,确保页面加载完毕以后再执行js代码 window.onload

事件对象——DOM中的事件对象

触发DOM上的交互事件会生成一个event对象,用以保存事件的信息.比如鼠标交互的事件会保存鼠标的位置,键盘交互的事件会保存键的值. 1.DOM0级和DOM2级事件处理程序在进行事件处理时都会有一个event对象传入.例如event.type会保存事件类型名称. 2.HTML事件处理程序中的变量event保存有event对象. 3.event对象的属性和方法: 1.bubbles.布尔值,用以表明事件是否冒泡. 2.cancelable.布尔值,用以表明是否可以取消事件的默认行为.通常和prev

js中的事件 bom对象 dom对象.

3.事件 什么是事件?为什么使用事件? 我们学习事件首先了解一些概念 事件源 事件 监听器 事件源:事件的源头(也就是这个事件是由某某触发的,那么我们就管其叫事件源) 监听器:监听事件发生的组件.那么监听器要想监听事件是否发生,必须注册监听(绑定监听) js中常用的事件 1.onclick 鼠标点击某个对象 我们在开发中一般会对按钮,文本框或radio checkbox等进行onclick操作. 2.onblur 失去焦点 3.onfocus 获去焦点 4.onchange 改变域的内容 针对于

JS 事件(3)——事件对象

事件对象 在触发DOM节点上的某个事件时,会产生一个事件对象event,这个对象中包含着所有与事件有关的信息. DOM中的事件对象 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>事件对象</title> 6 </head> 7 <body> 8 <div id="box"&

jQuery中的事件冒泡

1.什么是冒泡 eg: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>事件冒泡</title> <script src="