jQuery - 关于更改输入文本

Mar*_*kic 27 jquery onchange textinput

我正在尝试创建一个函数,该函数将在a的值text input field更改时执行.单击表格单元格时,字段的值会更改,而不是打开keyup,也不会粘贴.我试过这样的:

$("#kat").change(function(){ 
    alert("Hello");
});
Run Code Online (Sandbox Code Playgroud)

我有文字字段:

<input type="text" id="kat" value="0"/>
Run Code Online (Sandbox Code Playgroud)

但它不起作用.有帮助吗?

ald*_*dux 27

这是来自对jQuery文档页面的评论:

在较早的HTML5之前的浏览器中,"keyup"绝对是您正在寻找的.

在HTML5中有一个新的事件,"输入",其行为与你认为"改变"应该表现的完全相同 - 因为只要按下一个键将信息输入到表单中就会触发.

$( '元件')结合( '输入',功能);


Sel*_*gam 9

在我看来,就像你正在更新javascript中的文本字段的值.onchange只有当您从文本字段中键入数据和制表符时才会触发事件.

一种解决方法是在从脚本修改文本框值时触发文本框更改事件.见下文,

$("#kat").change(function(){ 
    alert("Hello");
});


$('<tab_cell>').click (function () {
   $('#kat')
      .val($(this).text()) //updating the value of the textbox 
      .change();           //trigger change event.
});
Run Code Online (Sandbox Code Playgroud)


sol*_*ish 9

这项技术对我有用:

$('#myInputFieldId').bind('input',function(){ 
               alert("Hello");
    });
Run Code Online (Sandbox Code Playgroud)

请注意,根据此JQuery文档,建议使用"on"而不是在较新版本中绑定.


M S*_*M S 5

这对我有用

var change_temp = "";
$('#url_key').bind('keydown keyup',function(e){
    if(e.type == "keydown"){
        change_temp = $(this).val();
        return;
    }
    if($(this).val() != change_temp){
        // add the code to on change here 
    }

});
Run Code Online (Sandbox Code Playgroud)