通过jquery.change方法监听文本框,但在失去焦点后才会触发,如何跳过blur事件监听文本框的变化

通过下面的小程序发现,通过txt2改变txt1的值时,不会进入txt1的change()方法。只有在光标进入txt1控件中,并修改里面的值,触发blur事件后,才进入change()方法

问题是:如何能(跳过blur)真实的监听文本框的值改变?

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>test</title>
</head>
<body>
    <input type="text" id="txt1"/>
    <input type="text" id="txt2"/>
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
            //文本框1改变时,输出日志
            $("#txt1").change(function(){
                window.console.info("txt1 change");
            });

            //文本框2改变时,给文本框1赋值字符串(也就是改变文本框的值)
            $("#txt2").change(function(){
                $("#txt1").val("123");
            });
        });
    </script>
</body>
</html>
阅读 12.4k
3 个回答

使用如下事件
oninput
onpropertychange (IE only)


$('input,textarea').on('input propertychange', function(e){


});

//文本框2改变时,给文本框1赋值字符串(也就是改变文本框的值)

            $('#txt2').bind('input propertychange', function() {
                $('#txt1').val($(this).val());
            });

该用keypress吧,可以对文本框输入的值实时监控。之前用过change,感觉有点鸡肋。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题