Jquery值更改事件

时间:2013-06-09 04:37:19

标签: javascript jquery

我有一些代码,当我点击按钮时它会向我显示一些消息。它适用于IE好,但不适用于ff或chrome,有人告诉为什么?抱歉我的英文不好。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <title> New Document </title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
    <script>
        $(function(){
            $("#test").bind("input propertychange",function(){
                alert("abc");
            });
        });
        function ff() 
                { 
                document.getElementById('test').value=Math.random(); 

    </script>
</head>
<body>
    <input id="test"></input>
    <input id='btn' value="tt" type="button" onclick="ff()" /> 
</body>
</html>

2 个答案:

答案 0 :(得分:1)

首先,你错过了ff函数的结束括号。其次,你应该在输入字段上监听的事件是“更改”事件,它也只在文本字段具有焦点时触发,并且您更改其值然后单击文档中的其他位置(即它失去焦点或模糊)然后触发改变事件。

您可以执行的操作是侦听其他事件(如键盘等)或触发自定义更改事件。这是修改/更正的代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <title> New Document </title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>

    <script>    
    jQuery(document).ready(function($) {
        $('#test').on('change', function() {
            alert("abc");
        });

        $('#btn').on('click', function() {
            $('#test').val(Math.random()).trigger('change');
        });
    });
    </script>
</head>
<body>
    <input id="test" value="" />
    <input id="btn" value="tt" type="button" /> 

</body>
</html>

并尝试远离HTML中的内联javascript调用,例如“onclick = ...”。重点是分离JS,CSS和HTML。

答案 1 :(得分:0)

代码中存在一些错误:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <title> New Document </title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
    <script>
    $(function () {
        $('#btn').on('click', function () {
            $('#test').val(Math.random());
            $('#test').trigger('change');
        }); //missing ending }
        $('#test').bind("change paste keyup", function () { // change to a proper listener 
            alert("abc");
        });
    });
    </script>
</head>
<body>
    <input id="test" type="text" value="" />
    <!--             ^ Specify a "type" -->    
    <input id='btn' value="tt" type="button" /> 
</body>
</html>