深入理解jQuery事件绑定机制
对于只需要触发一次,随后就立即解绑的情况,jQuery提供了一种方法,one(),语法结构与bind相同。
trigger(“click”)可以简化成click()。trigger还可以可以触发自定义名称的事件。例如,先用bind(“myClick”,function(){})给元素绑定一个自定义的myClick事件,然后用trigger(“myClick”)就可以触发该事件。
$("button").one("click",function(){
console.log("one");
//$("input").trigger("focus");
//既会触发input上绑定的onfus事件,如下,又会触发浏览器默认操作,即将焦点移到input上。
$("input").triggerHandler("focus");
//只会触发input上绑定的onfus事件,不会执行浏览器默认操作。
})
$("input").focus(function(){
console.log("input");
})
$("div").bind("mouseover mouseout",function(){
//绑定多个事件
$(this).toggleClass("color");
})
//在绑定的事件名称后面添加命名空间,便于统一管理
$(‘div‘).bind("click.plugin",function(){
console.log(‘click has a name!‘);
})
$(‘div‘).bind("mouseover.plugin",function(){
console.log(‘mouseover div‘);
})
$(‘div‘).bind("click",function(){
console.log(‘click has not a name!’);
})
$("button").click(function(){
$("div").unbind(".plugin");
})
$("button").eq(1).click(function(){
$("div").trigger("click!");
//感叹号的意思是匹配所有不在命名规范下的click事件
})
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。