0

无论如何,当 TextBox 的文本被更改时,我可以调用一个函数吗?

change只有在文本框失去焦点后,该功能才会起作用。我需要类似于keyup函数的东西:

$('.TextBox1').keyup(function(e) {
            setTimeout(function() {
            //
            }, 100);
        });

但是,只有通过键盘填充数据时才会调用此函数,我需要一个更通用的解决方案。一些情况是:

  1. 用户通过键盘输入数据
  2. 用户粘贴他之前复制的数据
  3. 用户双击文本框并从浏览器自动完成菜单中选择一个值。
  4. 用户从网站的某些部分拖动文本并将其放入 TextBox
  5. 条码扫描器
  6. ???(我想不到的任何其他填充文本框的方法)

是否有任何 Jquery“ontextchang”事件?

4

2 回答 2

3
$('input').bind('keyup keypress blur change cut copy paste ', function() {
   setTimeout(function() {
        alert('here');
        }, 100);

});

拖放示例:http: //jsfiddle.net/5DCZw/2/

于 2013-03-02T08:46:51.520 回答
0

我找到了答案:

function monitor() {
    // Your code
}

var timer = '';

$('.TextBox1').on('focus', function() {
    timer = setInterval(monitor, 100);
}).on('blur', function() {
    clearInterval(timer);
});

它在对焦时基本上TextBox1每 0.1 秒监控一次。这就是我一直在寻找的。

于 2013-03-06T14:14:47.830 回答