2

我正在尝试从输入框中获得有关已输入的字母的即时反馈。输入的最大长度为 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()不会作为事件起作用,因为这仅在用户更改焦点时触发,我在按键后立即需要它。

谢谢

4

2 回答 2

6

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

$("#captcha").keyup(function() {
    $(this).blur();
    var val = $(this).val();
    alert( val );
});
于 2012-11-22T15:02:41.090 回答
0

你的脚本对我来说很好。试试我用你的脚本创建的这个 js fiddle。通过以下修改

 <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 );
});
​

你的脚本工作

于 2012-11-22T15:05:58.857 回答