我正在使用jQuery live()
函数来检测
用户是否按下一些特殊键(箭头等):
$('.TextBox1').live('keydown',function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 40) {
e.preventDefault();
// ...
}
});
它工作正常几个月,突然之间昨天它停止工作,防止每一行JS代码下面执行.我试图用.keyup函数替换它,但这没有帮助.可能发生什么事
我假设你已经更新到最新版本的jQuery? live()自jQ1.7以来已被弃用,现在已从1.9开始
删除.
而应该使用on()和delegate参数:
$(document).on('keydown','.TextBox1',function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 40) {
e.preventDefault();
//...
}
});
请注意,为了获得最佳性能,您应该将上述示例中的文档替换为.TextBox1的最接近的父元素,该页面在页面加载后未动态附加到DOM.