0

我有一些代码,当我单击按钮时,它会显示一些消息。它在 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>
4

2 回答 2

1

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

相反,您可以做的是侦听其他事件,例如 keyup 等,或者触发自定义更改事件。这是修改/更正的代码:

<!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>

并尽量远离内联 javascript 调用,例如 HTML 中的“onclick= ...”。重点是将 JS、CSS 和 HTML 分开。

于 2013-06-09T06:40:26.773 回答
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>
于 2013-06-09T04:40:36.113 回答