首页 > 软件操作教程 > 编程开发 > JavaScript
题目内容

JavaScript 注销事件

题目答案

■知识点

在DOM事件模型中,使用removeEventListenerO方法可以从指定对象中删除己经注册的事件监听函数。其用法如下:

    element.removeEventListener(String type, Function listener, boolean useCapture);

参数说明参阅addEventListener()方法参数说明。

在IE事件模型中,使用detachEvent()方法注销事件。其用法如下:

    element.detachEvent(etype,eventName)

参数说明参阅attachEventO方法参数说明。

■实例设计

    下面的示例设计段落标签<p>仅响应一次光标经过行为。当第2次光标经过段落文本时,所注册的事件不再有效。为了能够兼容IE事件模型和DOM事件模型,使用if语句判断当前浏览器支持的事件处理模型,然后分别使用DOM注册方法和IE注册方法为段落文本注册mouseover和mouseout两个事件。当触发mouseout事件之后,再把mouseover和mouseout事件注销掉。

<P id="p1">注册兼容性事件</p>

<script>

var p1 = document.getElementByld("pi");

var f1 = function(){

    p1.style.background = 'blue';

};

var f2 = function(){

    p1.style.background = 'red';

    if(p1.detachEvent){

        p1.detachEvent("onmouseover", fl);

        p1.detachEvent("onmouseout", f2);

    }

    else{

        p1.removeEventListener("mouseover", fl);

        p1.removeEventListener("mouseout", f2);

if(p1.attachEvent){

    p1.attachEvent("onmouseover", f1);

    p1.attachEvent("onmouseout", f2);

}

else {

    p1.addEventListener("mouseover", f1);

    p1.addEventListener("mouseout", f2);

}

</script>

    removeEventListener()方法只能够删除addEventListener()方法注册的事件。如果使用onclick等直接写在元素上的事件,将无法使用removeEventListener()方法删除。

    当临时注册一个事件时,可以在处理完毕之后迅速删除它,这样能够节省系统资源。

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

软件操作 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

相关视频试题

最需教育客户端 软件问题一手掌握

去 App Store 免费下载 iOS 客户端