• 模拟操作和命名空间


    模拟操作:

    $(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操作
  • 相关阅读:
    初识面向对象
    Git 子模块
    至今为止项目中遇到的问题
    vuex , 简单入(liao)门(jie)
    Git rebase
    Git
    js设计模式工厂模式
    vue slot
    Jquery学习,一道笔试题:关于表格【最近记】
    闭包与this学习
  • 原文地址:https://www.cnblogs.com/by-dxm/p/6390697.html
Copyright © 2020-2023  润新知