是否有用于处理文本框编辑的jquery事件?

时间:2012-05-19 16:23:44

标签: jquery

我正在寻找一种在文本框文本发生变化时绑定到事件的方法。现在,我有这样的事情:

$("#inputPane").change(function() { alert("Changed!"); });

但是,只有在文本框失去焦点时才会调用此方法。每当添加,删除或剪切/粘贴都出现新角色时,我想获得一个事件。

我不想为此使用任何第三方插件。使用纯jquery会更好。

3 个答案:

答案 0 :(得分:3)

最佳选择是使用keyup事件。

$("#inputPane").keyup(function() {
    alert("Changed!");
});

但是你应该考虑点击 ANY 键时会触发,甚至 Ctrl Alt Shift 等等。

答案 1 :(得分:3)

您可能需要多个事件来涵盖键入的字符,粘贴等。

$("#inputPane").on('keyup paste click whatever', function() {
    alert("Changed!");
});

如果出于某种原因,它会多次触发:

var fire = true;

$("#inputPane").on('keyup paste click whatever', function() {
    if (fire) {
       fire=false;            
       alert("Changed!");
    }
    setTimeout(function() {fire=true}, 200);
});

答案 2 :(得分:2)

这是一个如何捕获任何变化的示例

$('#Textbox1, #Textbox2').each(function () {

    $(this).bind("propertychange keyup input paste", function (event) {
        alert("changed");
    });
});

我在一组文本框中使用它,它只触发一次