我编写了以下jquery代码,只允许文本框中的数字。
$("[id$='txtPriority']").keydown(function (event) {
if (event.keyCode == 48) {
var value = $("[id$='txtPriority']").val();
if (value == "") {
event.preventDefault();
return;
}
}
else if (event.keyCode == 86 || event.keyCode == 118) {
event.preventDefault();
return;
}
else {
$("[id$='txtPriority']").numeric();
}
});
});
这是第一次加载页面时工作正常。但是回发后代码无效。可能是什么原因。
答案 0 :(得分:3)
我用ajax改变了一些东西然后事件将无效。 尝试使用实时功能(http://api.jquery.com/live/)
$("[id$='txtPriority']").live('keydown', function (event) {
答案 1 :(得分:0)
我曾经遇到过这个问题,这是因为我在回发中替换了表单的html。您需要在替换控件后重置事件处理程序或使用.live()处理程序,该处理程序甚至可以用于以后添加的元素:
$("[id$='txtPriority']").live('keydown', function (event ) {