2016-07-20 30 views
1

綁定事件的jQuery我有一個輸入:當MAXLENGTH被擊中

<input type="text" id="xpto" value="" maxlength="12" /> 

我想在maxlength命中觸發事件。

我現在擁有的一切:

$("#xpto").keyup(function (e) { 
     if ($(this).val().length == parseInt($(this).attr("maxlength"))) { 
      //do stuff 
     } 
}); 

這幾乎是完美的,因爲它沒有包括所有的可能性(即:用戶複製/粘貼值或選擇瀏覽器的建議值)。

我想在$.bind()但我還沒有發現,包括我的方案的任何事件。任何幫助?

+0

使用'$(document).on(「keyup change」,「#xpto」,function(){})' – Mohammad

回答

0

該做的伎倆:

$("#xpto")on('input', (function (e) { 
    if ($(this).val().length == parseInt($(this).attr("maxlength"))) { 
     //do stuff 
    } 
}); 

它涵蓋了複製/粘貼;打字;選擇建議。

0

更改keyup eventchange event這將需要應對和粘貼和任何其他情形的照顧。

$("#xpto").change(function (e) { if ($(this).val().length == parseInt($(this).attr("maxlength"))) { //do stuff } });

+0

實際上'change event'就是當你改變字段時,是不是?如果我打字不起作用,直到我從元素中獲得「焦點」 –

+0

只要字段值更改,就會調用更改事件。即修改值屬性的輸入字段中的任何關鍵筆劃 – Sundayguru