0

每当为子输入元素触发 keydown 事件时,我正在编写一个 jquery 脚本来更改父 div 的颜色,但代码似乎没有运行。

<html>
    <head>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
        <script>
            $(document).ready(function(){
                        $("input").keydown(function(){
                        $("#div").css("background-color","teal");
                    });
                });
        </script>
    </head>
    <body>
    <div id="div">
        <input type="text">
    </div>
    </body>
</html>
4

2 回答 2

5

您在 jquery 链接中忘记了“http”(假设您正在使用file://访问文件),更改

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

编辑:

当准备好去服务器时,把它改回说//ajax.googleapis.com/...以避免@Femaref提到的http/https问题

于 2013-01-10T19:33:34.910 回答
1

如果这是您的所有代码,那么 div 周围没有任何空间来显示背景。

请看这个小提琴。http://jsfiddle.net/RcyQW/

如果添加padding:5px;div 则显示背景颜色。

另请注意,只有当用户在输入中输入内容时才会触发它,而不是当它具有焦点时。

于 2013-01-10T19:34:56.107 回答