【问题标题】:Is there a difference between .change() and .on("change")? [duplicate].change() 和 .on("change") 有区别吗? [复制]
【发布时间】:2016-11-15 17:24:51
【问题描述】:

有什么区别吗:

$('selector').change(function() {});

$('selector').on("change", function() {});

如果有,在大多数情况下我应该使用哪一个?

【问题讨论】:

  • 没区别,随便用吧
  • 我觉得没什么区别
  • 我认为click 可以处理已经存在的元素,onclick 也可以处理动态生成的元素
  • @AnujKhandelwal 您需要将选择器参数传递给on() 方法来委托它。这不是这里的情况

标签: javascript jquery


【解决方案1】:

没有区别,内部change 函数会使用.on(...) 来绑定相应的事件。

function (data, fn) {
    return arguments.length > 0 ? this.on(name, null, data, fn) : this.trigger(name);
}

Source

【讨论】:

    【解决方案2】:

    根本没有区别,它们都触发相同的javascript函数。您可以在任何支持addEventListener 模块的浏览器中同时使用这两者。

    查看支持它的浏览器列表:http://caniuse.com/#feat=addeventlistener

    但是,要删除该事件,您必须使用 .off( "change" ) 正如jquery doc 建议的那样

    希望对你有帮助

    【讨论】:

      【解决方案3】:

      根据方法文档$('selector').change( function() {}) 只是$('selector').on("change", function() {}); 的快捷方式。确实是一样的。

      【讨论】:

        猜你喜欢
        • 2016-11-17
        • 1970-01-01
        • 2019-10-14
        • 2023-02-09
        • 1970-01-01
        • 2011-07-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多