更新时间:2023-02-10 来源:黑马程序眼 浏览量:
jQuery具有灵活的事件处理机制,包括对事件的绑定和切换。关于事件绑定与切换的方法和说明如表15-11所示。
表15-11 事件绑定与切换
表15-11列举了事件绑定与切换的方法,在这些方法的参数中,events表示事件名(多个用空格分隔),data表示将要传递给事件处理函数的数据,selector表示选择器,function表示事件处理函数,type表示添加到元素的事件(多个用空隔分隔),over和out分别表示鼠标移入和移出时的事件处理函数。
下面分别演示事件绑定与切换方法的使用案例。
(1)事件的绑定与取消绑定
//on()方法绑定事件 $("div").on("click",function(){ alert("绑定事件"); }); //off()方法取消绑定 $("div").off("click");
(2)绑定单次事件
$("div").one("click",function(){ alert("绑定单次事件"); });
(3)多个事件绑定同一函数
$("div").on("mouseover mouseout",function(){ alert("鼠标移入或移出"); });
(4)多个事件绑定不同的函数
$("div").on({ mouseover:function() { alert("鼠标移入"); }, mouseout:function(){ alert("鼠标移出"); } });
(5)绑定自定义事件
//绑定自定义事件 $("div").on("CustomEvent",function(){ alert("已触发自定义事件"); }); //触发自定义事件 $("div").click(function(){ $("div").trigger("CustomEvent"); });
(6)传递数据到事件处理函数
function myFunc(event){ alert("收到消息:"+event.data.msg); } $("div").on("click",{msg:"测试数据"},myFunc)
(7)为以后创建的元素委派事件
//为<body>的子元素<div>委派事件 $("body").on("click","div",function(){ alert("收到"); }); //创建<div>元素 $("body").append("<div>测试</div>");
(8)鼠标移入和移出事件切换
$("div").hover(function() { alert("切换-鼠标移入") },function(){ alert("切换-鼠标移出"); });
(9)隐藏与显示事件切换
//第一次调用时隐藏 $("div").toggle(); //第二次调用时显示 $("div").toggle();
从以上事件绑定与切换的例子中可以看出,jQuery事件处理方法的功能非常丰富,通过灵活地运用,可以实现很多复杂的页面交互效果。
注意:on()方法与off()方法是jQuery从1.7版本开始新增的方法。jQuery官方推荐使用on()方法进行事件绑定,在新版本中已经取代了bind()、delegate()和live()方法。