var $inputPswd1 = $('#checkInput01'),
$inputPswd2 = $('#checkInput02'),
$inputPswds = $inputPswd1.add($inputPswd2);
var bindOn = function () {
return typeof $(document)['on'] ? 'on' : 'bind';
}();
$inputPswds[bindOn]('keyup._passchk', function(e){
});
此代码段是作为输入验证的一部分编写的。任何人都可以告诉这些行:
typeof $(document)['on']
和
$inputPswds[bindOn]('keyup._passchk', function(e) {});
checkInput01
和checkInput02
是两个输入的ID。
答案 0 :(得分:1)
typeof $(document)['on']
这用于检查DOM对象上是否有on
方法。在jQuery 1.7之前,它将无法使用。
$inputPswds[bindOn]('keyup._passchk', function(e) {});
这将调用on
或bind
方法,具体取决于上述语句的结果,并为keyup
jQuery中的元素分配$inputPswds
事件处理程序对象
请注意,如果您从1.7开始使用任何版本的jQuery,那么检查就非常多余,可以删除,只需调用on()
答案 1 :(得分:0)
旧版本的jQuery没有on
方法。代码段使用typeof
来检查on
方法的存在。如果jQuery对象没有.on
方法,则它使用.bind
方法附加事件处理程序。
还要注意代码有错误! typeof
返回一个字符串,非空字符串是JavaScript中的真值。该函数始终返回.on
。函数体应该是:
return typeof $(document)['on'] !== 'undefined' ? 'on' : 'bind';
另一种选择是:
return jQuery.fn.on ? 'on' : 'bind';