`
longleg
  • 浏览: 18082 次
  • 性别: Icon_minigender_1
  • 来自: 长春
最近访客 更多访客>>
社区版块
存档分类
最新评论

简单的事件注册方式

阅读更多
var addEvt = function (obj,evt,fn){
    if(obj.addEventListener){
        obj.addEventListener(evt,fn,false);//W3C
    }else if(obj.attachEvent){
        obj.attachEvent('on'+evt,fn);//IE
    }
}

var removeEvt = function (obj,evt,fn){
    if(obj.removeEventListener){
        obj.removeEventListener(evt,fn,false);//W3C
    }else if(obj.detachEvent){
        obj.detachEvent('on'+evt,fn);//IE
    }
}

兼容IE以及W3C事件注册机制,好处是不会覆盖原有的事件,而是事件追加。
但是RemoveEvt没有办法将所有绑定的事件全部移除,只能指定注册的函数名,如果是匿名的函数就无法移除。当让我们可以这样:
obj.onclick = null;

分享到:
评论

相关推荐

    C# 事件中心,一个简单的事件注册调用管理功能

    在这个简单的事件注册调用管理功能中,我们可以看到如何在C#中有效地实现这一模式。 首先,事件的基本组成部分包括事件发布者(Event Publisher)、事件订阅者(Event Subscriber)和事件(Event)。发布者拥有事件...

    利用SerialPort控件实现PC与PC串口通信(事件方式&查询方式)

    以下是一个简单的事件方式通信示例: 1. 创建SerialPort实例,并设置相关属性,如波特率、数据位、停止位和校验位。 2. 注册DataReceived事件的事件处理函数。 3. 打开串口。 4. 当DataReceived事件触发时,事件...

    vue20的touch事件原生事件注册无依赖体积小1K

    标题中的"vue20的touch事件原生事件注册无依赖体积小1K"意味着我们将讨论一个专注于在Vue 2.0中使用触摸事件的方法,该方法不仅直接利用了JavaScript的原生事件,而且实现了轻量化,整个插件或解决方案的体积小于1KB...

    Node.js-事件总线通过定义事件接口apt方式生成事件代理分发事件给注册并实现的接口类

    标题中的“Node.js-事件总线通过定义事件接口apt方式生成事件代理分发事件给注册并实现的接口类”指的是在Node.js环境中,利用事件驱动模型来构建应用程序,并结合了APT(Annotation Processing Tool)技术来生成...

    动态注册快捷方式和删除快捷键方式

    删除已创建的动态快捷方式相对简单,只需调用`ShortcutManager`的`removeDynamicShortcuts()`方法,传入相应的快捷方式ID即可: ```java shortcutManager.removeDynamicShortcuts(Collections.singletonList(...

    c#弱事件简单实例代码

    这个类管理弱引用的事件注册,确保订阅者不会因事件注册而阻止垃圾回收。在`ConsoleApplicationEventTest`中,订阅者将使用`WeakEventManager`来附加事件处理程序,而不是直接调用`+=`操作符。 4. **事件注册**:在...

    js事件监听机制(事件捕获)总结

    内联属性方式简单易用,但不推荐用于复杂的项目,因为它将行为与结构混合,不易于维护和管理。而通过JavaScript方法添加事件监听器,可以更灵活地控制事件处理过程,并且可以轻松地添加和移除监听器。 在前端开发中...

    前端学习笔记,做一个简单的网站-请自定义一个注册事件的兼容函数,要求兼容三种注册事件方法,学习代码

    了解了事件注册的兼容性处理后,让我们回到“做一个简单的网站”这个话题。在创建网站的过程中,事件注册是构建交互式用户体验的关键。例如,你可以创建一个注册表单,当用户点击提交按钮时,触发验证和数据发送的...

    OSG中的键盘事件处理

    总的来说,OSG通过其事件处理机制提供了一种灵活的方式来响应用户输入,包括键盘事件。通过创建自定义的事件处理器类,开发者可以构建高度交互的3D应用程序,使用户能够通过键盘直接控制场景中的元素。这种能力对于...

    事件触发最简单例子event delegate

    接下来,我们创建一个`Form`类,作为事件的订阅者,它包含一个`Button`实例并注册为`Click`事件的处理程序。 ```csharp public class Form { private Button button; public Form() { button = new Button(); ...

    EventBus普通事件和粘性事件

    通过理解和应用 EventBus 的普通事件和粘性事件,你可以构建更高效、模块化的 Android 应用,让组件之间的通信变得更加简单和灵活。实践过程中,根据具体需求选择合适的消息传递方式,可以优化代码结构,提高代码的...

    javascript中注册和移除事件的4种方式

    以下将详细介绍在JavaScript中注册和移除事件的四种常用方式,并解释它们的工作机制和适用场景。 第一种注册事件的方式是直接在HTML标签的事件属性中使用内联JavaScript代码。这种方式简单直观,适用于快速测试和...

    5个关于wpf事件路由的例子

    直接事件路由是最简单的事件处理方式,当事件在源控件上触发时,直接调用已注册的事件处理程序。例如,你可能有一个Button控件,并在其上设置了Click事件的处理程序。当你点击该按钮时,Click事件处理程序将被立即...

    探究JavaScript中的五种事件处理程序方式

    DOM2级事件处理程序引入了`addEventListener`和`removeEventListener`方法,允许注册和移除多个事件处理程序,并区分捕获阶段和冒泡阶段。 ```javascript button.addEventListener('click', function() { alert('...

    Android键盘事件处理例子

    在提供的“Android键盘事件案例”压缩包中,可能包含了一个简单的Android项目,该项目演示了如何处理键盘事件。案例可能包括以下部分: - 一个布局XML文件,包含一个EditText用于接收用户输入。 - 一个Activity,...

    易语言托盘事件例程

    托盘事件例程,简单来说,就是当用户在系统任务栏的托盘区域与你的程序图标进行操作(如单击、双击、右键菜单等)时,程序会响应的代码段。这些事件可以帮助用户在不打开主窗口的情况下,对程序进行一些操作,提供了...

    ASP.NET中的事件处理

    2. **事件方法模型(Event Method Model)**:在VS2005及以后的版本中,引入了更简单的事件处理方式,即通过定义事件处理方法来处理事件。这种方式简化了事件的注册和处理流程。 #### 五、自定义事件处理 除了标准的...

    易语言简单注册F1热键

    总的来说,易语言简单注册F1热键涉及到了易语言中的键盘事件处理、系统热键注册等基本编程概念,通过这个实践,可以提升对易语言事件驱动编程的理解,并为以后的软件开发打下基础。学习并理解这段源码,对于掌握...

    事件处理机制之触屏事件.

    事件处理机制在IT行业中,特别是在游戏开发中,是至关重要的,因为它们决定了用户与应用程序的交互方式。在智能手机游戏开发中,触屏事件是玩家与游戏互动的主要手段。本文将详细探讨Cocos2D-X框架中的触屏事件处理...

    事件管理系统的简单架构和学习.rar

    通过这种方式,我们实现了简单的事件驱动架构,当`RaiseEvent`被调用时,`OnMyEvent`方法将在订阅者中执行。 重载方法是另一个关键概念,它允许我们在同一个类中定义多个同名但参数列表不同的方法。这在事件处理中...

Global site tag (gtag.js) - Google Analytics