JQuery改变直到模糊才开始

Dud*_*awg 30 jquery

我使用change(handler)来监听更改事件到textarea,但是我只在textarea失去焦点时收到一个事件,但是我想在值发生变化时立即收到一个事件.

$("#text_object").change(listener);
function listener(dom){
alert("I'm not getting here before the textarea loses focus");
}
Run Code Online (Sandbox Code Playgroud)

小智 27

遗憾的是,当字段模糊时,浏览器仅识别更改,因此您可能希望尝试附加keyup侦听器.不幸的是,这不是最优雅的解决方案.

有关详细信息,请访问http://api.jquery.com/keyup/.

  • 使用keyup时,您可以使用鼠标粘贴文本而不触发事件. (9认同)
  • 由于这是最高评价和接受的:请务必查看 Slim Fadi 的回答,其中提到了“输入”事件,它完全符合您的要求。 (4认同)

Sli*_*adi 24

根据正确的答案,输入元素上的javascript更改事件仅在失去焦点时触发

你应该做这样的事情

$('#name').on('change textInput input', function () {
       
});
Run Code Online (Sandbox Code Playgroud)

但是我发现同时拥有textInput和输入事件会导致事件触发两次,你不需要它,所以就这样做

$('#name').on('change input', function () { ...


小智 6

你可以这样做.只要确保你给textarea一个id标签

$(document).ready(function(){
        $('.addtitle').keyup(function(event) {
            if(event.keyCode==13) { 

}
});
});
Run Code Online (Sandbox Code Playgroud)

在我的情况下,我在输入键上启动功能(如facebooks功能).

编辑:如果你在页面上有多个textarea,你应该这样做:

$(document).ready(function(){
        $('textarea[name=mynamevalue]').keyup(function(event) {
            if(event.keyCode==13) { 

}
});
});
Run Code Online (Sandbox Code Playgroud)