【问题标题】:What is best way to perform jQuery .change()执行 jQuery .change() 的最佳方法是什么
【发布时间】:2012-04-17 05:56:02
【问题描述】:

我有 2 个独立的脚本,它们基本上做同样的事情。我随着时间的推移构建了它们,只是发现我使用了几种不同的方法来获得相同的结果。

我想在这两种情况下标准化并使用最佳实践方法。

我测试更改事件的一种方法是:

$('input[name="status"]').change(function() {});

我测试更改事件的另一种方法是:

$("#email").bind("change", function(e) {});

哪种方式最好?两者有什么区别?

感谢您帮助我理解这一点。

【问题讨论】:

    标签: jquery onchange


    【解决方案1】:

    在 jQuery 1.7 之前,change()simply a short cut 对应于 bind("change")

    然而,从 1.7 开始,引入了 on(),并且优先于 bind()。现在这意味着change()on("change") 的快捷方式,实际上所有bind() 调用现在都将在内部调用on()

    简而言之,他们做同样的事情。我发现明确使用on()(或bind())更可取,但只要您在整个代码库中保持一致,我看不出有任何真正的区别。

    有人可能会争辩说,使用 change() 而不是 on("change") 会“更好”,因为“更改”一词中的拼写错误会在第一个实例中引发解析错误(“未定义不是函数”),但会使用on() 默默地失败...但显然您的单元测试会捕捉到这一点,对吗? ;)。

    【讨论】:

    • 所以@Matt,我的代码语法需要看起来像这样$("#email").on("change", function(e) {});
    猜你喜欢
    • 1970-01-01
    • 2012-10-02
    • 1970-01-01
    • 2010-10-25
    • 2018-04-16
    • 2019-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多