JQuery事件机制

事件机制:
    事件中的冒泡现象:
    严格地说,事件在触发后分为两个阶段,一个是捕获(Capture),另一个则是冒泡(Bubbling)。大多数浏览器并不是都支持捕获阶段,JQuery也不支持。因此事件在触发后往往执行冒泡过程。所谓的冒泡其实质就是事件执行中的顺序。
    例: <body> <div> <button></button> </div> </body>都具有点击事件,在点击Button的时候会依次响应button、li、div的点击事件。
    var count = 0;    // 记录点击次数
    $("body, div, button").click(function(event){
        ....
        count++;
    });
    点击一次按钮,count的值会增加至3.
    阻止冒泡事件:
    var count = 0;    // 记录点击次数
    $("body, div, button").click(function(event){
        ....
        count++;
        event.stopPropagation();    // 阻止冒泡过程
    });
    
页面载入事件:
    ready();
    以下写法等同:
        $(document).ready(function(){...});
        $(function(){....});
        jQuery(document).ready(function(){...});
        jQuery(function(){...});

绑定事件:
    一般情况下我们使用的是如下方法绑定点击事件:
    $(function(){
        $("#myButton").click(function(){
            ...
        });
    });
使用bind()方法绑定事件:
    bind()是为每个选择元素的时间绑定处理函数:
    bind(type, [data], function);
    其中type为事件类型,如"click"、"change",此外还有:
        blur、focus、load、resize、scroll、unload、click、dblclick、mousedown、mouseup、mousemove、mouseover、mouseout、mouseenter、mouseleave、change、select、submit、keydown、keypress、keyup、error。
    type可以有多个,例:$("myButton").bind("click mouseout", function(){...});
    参数data是作为event.data属性传递给事件对象的额外数据对象。
        例:$("#myButton").bind("click", {name: '小王'}, function(event){...} );
    参数function是绑定到每个选择元素的事件中处理函数。

通过映射方式绑定不同的事件。
    例:
        $(function(){
            $("#myText").bind({
                focus:function(){...},        // 当输入域得到焦点的时候响应
                change:function(){...}     // 当输入域内容发生改变的时候响应
            });
        });

切换事件:
    hover()方法,该方法是使元素在鼠标悬停和移出的事件中进行切换,等价于$("#myDiv").mouseenter(function);和$("#myDiv").mouseleave(function);两个事件。
    toggle()方法,该方法的功能是每次点击后 依次 调用函数。例:$("#myButton").toggle(function1, function2, [function3 , ...]);

移除事件:
    unbind()方法移除元素绑定的事件,例:$("#myButton").unbind([type], [function]);

其他事件:
    one()方法,使用one()方法绑定触发一次的事件。例:$("#myButton").one("click", function(){...});
    trigger()方法,该方法是在所选择的元素上 触发 指定类型的事件,比如用在当DOM元素加载完成后触发某些特定的事件
    用法:$("#myButton").trigger([type], [data]);
        例:$("#myInput").trigger("select"); // 自动选中文本框

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值