首页 > 其他 > 详细

模拟操作和命名空间

时间:2017-02-12 12:22:09      阅读:152      评论:0      收藏:0      [点我收藏+]

模拟操作:

$(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操作

 

模拟操作和命名空间

原文:http://www.cnblogs.com/by-dxm/p/6390697.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!