jq事件绑定四种方式

  • Post author:
  • Post category:其他



1. 简单事件绑定:


这种绑定事件方式不会重叠

$(document).click(function () {


alert(1);

})


2. bind方式(不推荐,1.7以后的jQuery版本被on取代)

 $(document).bind("click mouseenter",function () {
            alert(1);
        })

比简单事件绑定方式的优势:

可以同时绑定多个事件,比如:bind(“mouseenter mouseleave”, function(){})

缺点:要绑定事件的元素必须存在文档中。


3. delegate方式(特点:性能高,支持动态创建的元素)


与前两种方式最大的优势:减少事件绑定次数提高效率,支持动态创建出来的元素绑定事件!

$(document).delegate(".box","click",function () {
            alert(1);
        })


4. on方式(最现代的方式,兼容zepto(移动端类似jQuery的一个库),强烈建议使用的方式)(重点)

 $(document).on("click mouseenter",".box",{"name":111},function () {
            alert(event.data.name);
        });
        $(".box").on("click",{},function (e) {
            e.data
        })

事件触发(1)(触发浏览器行为)

//            $(document).click();
//            $(document).mouseenter();

事件触发(2)(触发浏览器行为)

   //            $(document).trigger("mouseenter");
    //            $(document).trigger("click");

事件触发(3)(不触发浏览器行为)

//            $(document).triggerHandler("mouseenter");
//            $(document).triggerHandler("click");
        $("input").on("focus", function () {
            alert("我获取了焦点!");
        });

//事件触发(2)(触发浏览器行为)(执行程序,触动事件)

//            $(document).click(function () {
//                $("input").trigger("focus");
//            });

//事件触发(3)(不触发浏览器行为)(只执行程序,不触动事件)

   $(document).click(function () {
        $("input").triggerHandler("focus");
    });



版权声明:本文为zuo_zuo_blog原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。