jQuery .keyup()无限触发

时间:2012-11-22 14:57:43

标签: javascript jquery

我正在尝试从输入框中获得有关已输入的字母的即时反馈。输入的最大长度为1个字符,我希望jQuery在用户提起其输入角色的键时提醒该值。

以下检测值立即但后来永远循环。这不是严格意义上的问题,但似乎是一种不适当的压力。

$("#captcha").keyup(function(e) {
    ( $(this).val() == 'w' ) ? $(this).css("border-bottom","2px dotted #27bbb1") : $(this).css("border-bottom","2px dotted #ED0664") ;
    //e.preventDefault();
});

change()不能用作事件,因为只有在用户更改焦点时才会触发此事件,我需要在按键后立即执行此操作。

由于

2 个答案:

答案 0 :(得分:6)

您可能正在使用enter键来关闭警报,这也会触发keyup事件。试试这个:

$("#captcha").keyup(function() {
    $(this).blur();
    var val = $(this).val();
    alert( val );
});

答案 1 :(得分:0)

你的脚本对我来说很好。尝试使用您的脚本创建的这个js小提琴。 通过以下修改

 <form>
  <input id="target" type="text" value="Hello there" />
</form>
<div id="other">
  Trigger the handler
</div>​

$("#target").keyup(function() {
    val = $(this).val();
    alert( val );
});
​

Yourscript working