你能在`ready`回调中使用`this`吗?

时间:2013-06-12 15:45:22

标签: javascript jquery events

我正在网上做一些教程,因此我设置了我的JavaScript文件:

$(document).ready(function(){
    $(this).keydown(function(key){ });    
});

示例中的代码是这样的:

$(document).ready(function(){
    $(document).keydown(function(key){ });    
});

这段代码有区别吗?它会做同样的事情吗?

3 个答案:

答案 0 :(得分:1)

是的,您可以在就绪状态下使用$ this,因为您提供“document”作为运算符。 如果在启动时预览控制台

$(document).ready(function(){ console.log(this); });

您应该注意到您收到的文件与仅调用“文档”相同。

另外,我只想指出一种更简单的方法:

$(function(){ console.log(this); });

也将返回文档。

答案 1 :(得分:1)

是的,两者都做同样的事情--> http://jsfiddle.net/Tks5L/6/http://jsfiddle.net/Tks5L/7/

在您的文档中.ready $(this)$(document)相同,因为this指的是当前document

答案 2 :(得分:0)

这两个陈述都做同样的事情。 http://jsfiddle.net/dJevP/

$(document).ready(function(){
    $(this).keydown(function(key){
        alert("this");
    });    
});

$(document).ready(function(){
    $(document).keydown(function(key){
        alert("document");
    });    
});