我试图使用jquery keyup事件。但我无法正确触发它。它似乎只打了然后我用鼠标点击输入字段的一边。我无法找到它为什么不能正常工作。
HTML:
<input type="text" class="form-control requiredField validateField translateString " id="ReportInternalOrderTxt" data-isvalid="false">
使用Javascript:
$(document).off("keyup", "#ReportInternalOrderTxt").on("keyup", "#ReportInternalOrderTxt", function (e) {
var result = parseInt($("#ReportInternalOrderTxt").val());
$("#ReportInternalOrderTxt").attr("data-isvalid", (typeof result === "number" && (result % 1) === 0) && result > 0);
});
答案 0 :(得分:1)
我认为你只是让每个人都认为键盘没有工作,实际上你在谈论验证不会触发,直到你模糊元素。这是因为当模糊发生时,验证正在等待onchange to fire。因此,您需要在设置数据属性后手动触发它。
$(document).off("keyup.numValidate").on("keyup.numValidate", "#ReportInternalOrderTxt", function (e)
var textbox = $(this);
var result = parseInt(textbox.val(), 10);
textbox.attr("data-isvalid", (typeof result === "number" && (result % 1) === 0) && result > 0);
textbox.change(); // or textbox.trigger("change");
});
答案 1 :(得分:0)
这就是你需要的:
$('#ReportInternalOrderTxt').keyup(function(){
//Your code
});