正在检测jQuery中输入[type=text]的值更改

  • 本文关键字:text type jQuery jquery
  • 更新时间 :
  • 英文 :


每次特定输入框的值发生变化时,我都要执行一个函数。它几乎适用于$('input').keyup(function),但例如,将文本粘贴到框中时不会发生任何事情。$input.change(function)只在输入模糊时触发,那么我如何立即知道文本框何时更改了值?

更新-2021

截至2021年,您可以将input事件用于满足输入值更改的所有事件。

$("#myTextBox").on("input", function() {
   alert($(this).val()); 
});

原始答案

请记住,建议使用"on"而不是"bind"函数,因此请始终尝试使用这样的事件侦听器:

$("#myTextBox").on("change paste keyup", function() {
   alert($(this).val()); 
});

描述

您可以使用jQuery的.bind()方法来完成此操作。看看jsFiddle。

样品

Html

<input id="myTextBox" type="text"/>

jQuery

$("#myTextBox").bind("change paste keyup", function() {
   alert($(this).val()); 
});

更多信息

  • jsFiddle演示
  • jQuery.bind()

试试这个。。信用https://stackoverflow.com/users/1169519/teemu

感谢您在这里回答我的问题:

https://stackoverflow.com/questions/24651811/jquery-keyup-doesnt-work-with-keycode-filtering?noredirect=1#comment38213480_24651811

这个解决方案帮助我推进了我的项目。

$("#your_textbox").on("input propertychange",function(){
   // Do your thing here.
});

注意:IE较低版本的属性更改。

您还可以使用文本框事件-

<input id="txt1" type="text" onchange="SetDefault($(this).val());" onkeyup="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();">
function SetDefault(Text){
  alert(Text);
}

试试这个

试试这个:

基本上,只考虑每个事件:

Html:

<input id = "textbox" type = "text">

Jquery:

$("#textbox").keyup(function() { 
    alert($(this).val());  
}); 
$("#textbox").change(function() { 
alert($(this).val());  
}); 
$("#myTextBox").on("change paste keyup select", function() {
     alert($(this).val());
});

为浏览器建议选择

不要忘记cutselect事件

接受的答案几乎是完美的,但它忘记了cutselect事件。

当用户剪切文本(CTRL+X或通过右键单击)时,cut被激发

当用户选择浏览器建议的选项时,select被激发

你也应该添加它们,比如:

$("#myTextBox").on("change paste keyup cut select", function() {
   //Do your function 
});

试试这个:

$("input").bind({
            paste : function(){
                $('#eventresult').text('paste behaviour detected!');
            }
})

使用此选项:https://github.com/gilamran/JQuery-Plugin-AnyChange

它处理所有更改输入的方式,包括内容菜单(使用鼠标)

这种事件组合对我有效:

$("#myTextBox").on("input paste", function() {
   alert($(this).val()); 
});

您可以使用以下代码来检测输入、按键更改和按键。

$("#myTextBox").on("input", "keyup", "keydown", "keypress" function() {
  alert($(this).val()); 
});

相关内容

最新更新