注册事件

Posted nie5135257

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了注册事件相关的知识,希望对你有一定的参考价值。

在DOM事件模型中,调用对象的addEventListener()方法注册事件,用法如下

element.addEventListener(String type, Function Listener,boolean usepture)

其中type:注册事件的类型名,与事件属性不同,事件类型没有on前缀。

       listener:监听函数,即事件处理函数。在调用这个函数时,默认给它的唯一参数是event对象。

       useCapture:为一个布尔值,如果为true,将在事件传播的捕获阶段触发;如果为false,则事件处理函数将在冒泡阶段触发!

如下示例:使用addEventListener()方法为所按钮注册click事件。

        <button id="btn1" onclick="btn1();">按钮1</button>
        <button id="btn2" onclick="btn1();">按钮2</button>
        <script type="text/javascript">
            var btn=document.getElementsByTagName("button");
            for(var i in btn){
                btn[i].addEventListener("click",function(){
                    alert(this.innerhtml);
                },true);
            }
        </script>

          在浏览器中浏览,单击不同的按钮则会弹出相应的按钮名称;

 使用addEventListener()方法能够为对个对象注册相同的事件处理函数,也可以为同一对象注册多个事件处理函数。

         在IE8之前事件模型使用attachEvent()方法注册事件,用法如下:

element.attachEvent(etype,eventName)

       etype:设置事件类型。

       eventName:设置事件类型名称,即事件处理函数。

如下示例:

        <p id="p1">IE事件注册</p>
        <script type="text/javascript">
            var p1=document.getElementById("p1");
            p1.attachEvent("onmouseover",function(){
                p1.style.background="blue";
            })
            p1.attachEvent("onmouseout",function(){
                p1.style.background="red";
            })
        </script>

注意:  在IE8之前事件模型使用attachEvent()方法注册事件第一个参数为事件名称,但需要加上on前缀,而使用addEventListener()方法则不需要前缀。

以上是关于注册事件的主要内容,如果未能解决你的问题,请参考以下文章

Android 事件分发事件分发源码分析 ( Activity 中各层级的事件传递 | Activity -> PhoneWindow -> DecorView -> ViewGroup )(代码片段

如何使用事件侦听器来加载动画片段的循环

当我点击我的应用程序中的注册用户片段时应用程序崩溃..其中包含recyclerview

在片段中注册和取消注册BroadcastReceiver

RecyclerView列表项不响应事件

Android:将片段和弹出窗口的点击事件中生成的变量传递给活动的方法