2

我只是试试这段代码:

$("#test").ready(function() {
    $(this).click(function() {
        alert('clicked!');
    });
});

在这里小提琴:http: //jsfiddle.net/8bfqw/

为什么当我在 div 之外单击时它仍然处于警报状态?

4

3 回答 3

6

这是因为您的选择器$(#test)实际上$(document)来自文档

.ready() 方法只能在匹配当前文档的 jQuery 对象上调用

无论您在选择器中传递什么,它都会被忽略并在当前文档上工作。的简写版本$(document).ready(function(){})$(function(){});你想要的:

$(function() {
    $('#test').click(function() {
        alert('clicked!');
    });
});
于 2013-04-10T11:48:11.370 回答
2
$("#test").ready(function() {
    $("#test").click(function() {
        alert('clicked!');
    });
});
于 2013-04-10T11:49:36.050 回答
0
$("#test").ready(function() {
    $("#test").click(function() {
         alert('clicked!');
     });
});

您必须将点击功能设置为测试对象,而不是整个文档 $(this)。

于 2013-04-10T11:51:25.160 回答