jQuery 处理页面的事件详解(2)

jQuery采用unbind()来移除事件,该方法可以接受两个可选函数,也可不设置任何参数,例如下面的代码表示移除div标记的所有事件和P标记的所有click事件。

复制代码 代码如下:


$("p").unbind("click");
            $("div").unbind();

如果希望移除某个指定的事件,则必须使用unbind(eventType,listener)方法的第二个参数,例如:

复制代码 代码如下:


var myFunc = function() {
                //监听函数体
            };
            $("p").bind("click",myFunc);
            $("p").unbind("click",myFunc);

例如以下代码

复制代码 代码如下:


<script type="text/javascript">
            $(function() {
                var fnMyFunc1; //函数变量
                $("img")
                    .bind("click", fnMyFunc1 = function() { //赋给函数变量
                        $("#show").append("<div>点击事件1</div>");
                    })
                    .bind("click", function() {
                        $("#show").append("<div>点击事件2</div>");
                    })
                    .bind("click", function() {
                        $("#show").append("<div>点击事件3</div>");
                    });
                $("input[type=button]").click(function() {
                    $("img").unbind("click", fnMyFunc1); //移除事件监听myFunc1
                });
            });
        </script>
       
        <img src="https://www.jb51.net/article/11.jpg">
        <input type="button" value="移除事件1">
        <div></div>

例如以上代码,添加了fnMyFunc1函数bind()绑定时将匿名函数赋值给他,从而作为unbind()函数调用名称。

3.传递事件对象。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wgxysg.html