什么是执行jQuery .change()的最佳方法

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

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

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

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

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

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

哪种方式最好? 2之间有什么区别?

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

在jQuery 1.7之前, change() 只是 bind("change") 的捷径 。

但是从1.7开始,引入了on() ,并且更喜欢bind() 。 现在意味着change()on("change")的快捷方式,实际上所有bind()调用现在都会on()内部调用on()

简而言之,他们做同样的事情。 我发现on() (或bind() )的显式使用更可取,但只要你在整个代码库中保持一致,我就没有看到任何真正的差异。

有人可能会说使用change() over on("change")是“更好”,因为“change”这个词中的拼写错误会在第一个实例中抛出一个解析错误(“undefined is is a function”),但是用on()默默地失败……但显然你的unit testing会抓住它,对吧? )。