我有2个单独的脚本,基本上做同样的事情。我随着时间的推移构建了它们,并且发现我使用了几种不同的方法来获得相同的结果。
我想在两种情况下标准化并使用最佳实践方法。
我测试变更事件的一种方法是:
$('input[name="status"]').change(function() {});
我测试更改事件的另一种方法是:
$("#email").bind("change", function(e) {});
哪种方式最好? 2?
之间有什么区别?感谢您帮助我理解这一点。
答案 0 :(得分:16)
在jQuery 1.7之前,change()
bind("change")
为bind()
。
从1.7开始,simply a short cut被引入,并且优先于change()
。现在,这意味着on("change")
是bind()
的快捷方式,实际上所有on()
来电都会在内部调用on()
。
简而言之,他们做同样的事情。我发现明确使用bind()
(或change()
)更可取,但只要您在整个代码库中保持一致,我就不会发现任何真正的差异。
有人可能会说使用on("change")
超过on()
是“更好”,因为“更改”这个词中的拼写错误会在第一个实例中抛出一个解析错误(“undefined is not a function” ),但是会{{1}}无声地失败......但显然你的单位测试会抓住它,对吧? ;)