簡體   English   中英

為什么keyup事件無法正確觸發?

[英]Why is keyup event not triggering correctly?

我正在嘗試使用一個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);
});

我認為您只是讓所有人感到困惑,因為實際上您在談論驗證直到您模糊了元素才觸發驗證,因此鍵入功能無法正常工作。 這是因為驗證正在等待在發生模糊時發生的onchange觸發。 因此,您需要在設置數據屬性后手動觸發它。

$(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");
});

這是您需要的:

 $('#ReportInternalOrderTxt').keyup(function(){
     //Your code
 });

http://api.jquery.com/keyup/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM