模拟操作:
$(function(){ //用法和附加参数 $('input').click(function(e,data1,data2,data3,data4){ alert(data1 + '|' + data2 + '|' + data3[1] + '|' + data4.user); }).trigger('click',['123','abc',['a','b','c'],{user:'dang'}]); //自定义事件 $('input').bind('myEvent',function(){ alert('自定义事件'); }).trigger('myEvent'); //阻止默认行为 $('input').bind('myEvent',function(){ alert('自定义事件'); }).triggerHandler('myEvent'); //模拟触发,但不会执行默认行为,相比于trigger() //trigger和triggerHandler的区别 //用triggerHandler阻止默认行为 //triggerHandler只执行第一个匹配的元素 //trigger返回jQuery对象,可以连缀;triggerHandler返回return值 //trigger会冒泡,triggerHandler不会 $('input').bind('myEvent',function(e){ e.preventDefault(); alert('自定义事件'); }).triggerHandler('myEvent'); //模拟触发,但不会执行默认行为,相比于trigger() $('input').bind('myEvent',function(){ alert('自定义事件'); }).triggerHandler('myEvent'); //模拟触发,但不会执行默认行为,相比于trigger() $('input').bind('myEvent',function(){ alert('自定义事件'); }).trigger('myEvent').css('color','red'); //模拟触发,但不会执行默认行为,相比于trigger() });
命名空间:
//命名空间: $('input')bind('click.aaa',function(){ alert('aaa'); }); $('input')bind('click.bbb',function(){ alert('bbb'); }); $('input').unbind('click.bbb');//只移除一个bbb,没有命名空间会全部click移除 $('input').trigger('click.aaa');//只模拟aaa的click操作