zoukankan      html  css  js  c++  java
  • jquery 事件的绑定,触发和解绑

    js和jquery绑定的区别?

      HTML或原生js是单一对应绑定的,绑多了只留最后一个。jQuery是追加绑定的,绑多少执行多少。这个在每一本jQuery的书中都是首先提到的事情。

    jquery绑定与解绑

      1. on()  推荐

    <div class="outter">
        <input class="btn0" type="button" />
    </div>
    // 绑定
    $(".outter").on("click", ".btn0", function() { alert("click btn0 by .on"); });

    // 解绑
    $(".outter").off("click");

    on() 方法在被选元素及子元素上添加一个或多个事件处理程序。自 jQuery 版本 1.7 起,on() 方法是 bind()、live() 和 delegate() 方法的新的替代品。该方法给 API 带来很多便利,我们推荐使用该方法,它简化了 jQuery 代码库。

    使用 on() 方法添加的事件处理程序适用于当前及未来的元素(比如由脚本创建的新元素)。

    如需移除事件处理程序,请使用 off() 方法。

    off() 方法通常用于移除通过 on() 方法添加的事件处理程序。自 jQuery 版本 1.7 起,off() 方法是 unbind()、die() 和 undelegate() 方法的新的替代品。

    如需添加只运行一次的事件然后移除,请使用 one() 方法。

      2.bind()

    // 绑定
    $(".btn0").bind("click", function() { alert("click btn0 by .bind"); });

    // 解绑
    $(".btn0").unbind("click");
    // 或者
    $(".btn0").unbind();

    bind() 方法向被选元素添加一个或多个事件处理程序,以及当事件发生时运行的函数。

      简写形式:

    $(".btn0").click(function() {
        alert("click btn0 by .click");
    });

      3.live()

    // 绑定
    $(".btn0").live("click", function() { alert("click btn0 by .live"); });

    // 解绑
    $(".btn0").die();

    live() 方法为被选元素添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。

    通过 live() 方法添加的事件处理程序适用于匹配选择器的当前及未来的元素(比如由脚本创建的新元素)。

      4.delegate()

    // 绑定
    $(".outter").delegate(".btn0", "click", function() { alert("click btn0 by .delegate"); });

    // 解绑
    $(".outter").undelegate();

    delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。

    使用 delegate() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。

    jquery触发事件

    $(".btn0").trigger("click");

     trigger() 方法触发被选元素的指定事件类型。

  • 相关阅读:
    连接上三星C5,播放音乐断音
    连接上LG NEXUS4播放音乐无声音输出,关机再开机回连再播放OK
    连接上LG G5时,“连接”提示音能听到明显拖尾杂音
    WebRTC原生开发和混合开发优缺点分析对比
    Safari即将支持WebRTC
    WebRTC通话过程中如何避免其它进程音量下降
    WebRTC 中RTT实现方法
    开发Rtmp推流端开发库的几种选择方案
    WebRTC中OPUS编码相关设置和分析
    WebRTC手记之初探
  • 原文地址:https://www.cnblogs.com/ooo0/p/7743023.html
Copyright © 2011-2022 走看看