命中maxlength时绑定事件jquery

时间:2016-07-20 14:32:02

标签: jquery

我有一个输入:

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

我想在maxlength被击中时触发一个事件。

我现在拥有的:

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

它几乎是完美的,因为它并不涵盖所有可能性(即:用户复制/粘贴值或选择浏览器的建议值)。

我正在考虑$.bind(),但我还没有找到任何涵盖我的情景的事件。有什么帮助吗?

2 个答案:

答案 0 :(得分:1)

keyup event更改为change event,这将处理应对和粘贴以及任何其他方案。

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

答案 1 :(得分:0)

这就是诀窍:

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

它包括复制/粘贴;打字;选择建议。