我有两个单独的脚本,基本上做同样的事情.我随着时间的推移建立了它们,并且发现我使用了几种不同的方法来获得相同的结果.
我想在两种情况下标准化并使用最佳实践方法.
我测试更改事件的一种方法是:
$('input[name="status"]').change(function() {});
Run Code Online (Sandbox Code Playgroud)
我测试更改事件的另一种方法是:
$("#email").bind("change", function(e) {});
Run Code Online (Sandbox Code Playgroud)
哪种方式最好?2之间有什么区别?
谢谢你帮我理解这一点.
Mat*_*att 16
jQuery的1.7之前,change()是一个简单的捷径了bind("change").
然而,从1.7开始,on()被引入,并且是优选的bind().现在意味着它change()是一个快捷方式on("change"),实际上所有的bind()调用现在都会在on()内部调用.
简而言之,他们做同样的事情.我发现明确使用on()(或bind())更好,但只要你在整个代码库中保持一致,我就没有看到任何真正的差异.
有人可能会争辩说使用change()over on("change")是"更好",因为"change"这个词中的拼写错误会在第一个实例中抛出一个解析错误("undefined不是一个函数"),但是会默默地失败on()......但显然你的单元测试会抓住它,对吧?).