我可以在body元素上应用click事件吗?

时间:2011-08-20 09:51:50

标签: javascript jquery javascript-events

我愿意在双击页面的任何地方动态创建div。我可以将click事件应用于body元素吗?

这是我到目前为止所尝试的内容:

jQuery("document").ready(function(){ 
    alert("click"); 
    jQuery("body").dblclick(function(event){ 
        alert("click"); 
    }); 
});

1 个答案:

答案 0 :(得分:1)

是:

// Example, needs some IE compatibility work
document.body.ondblclick = function (evt) {
    createNewDiv(evt.pageX, evt.pageY);
}

你尝试过哪些东西不起作用吗?


回复您的评论,

  

“你能告诉我这个错误吗

jQuery("document").ready(function(){ alert("click"); jQuery("body").dblclick(function(event){ alert("click"); }); });

问题是你正在使用标签选择器来查找文档对象。 jQuery("document")将在文档中查找名为<document>的元素,该元素不存在。您只需要传入文档对象,所以:

jQuery(document).ready(function(){ 
    alert("click"); 
    jQuery("body").dblclick(function(event){ 
        alert("click"); 
    }); 
});

此外,默认情况下,<body>元素仅与其内容一样大,因此,如果您将dblclick事件应用于没有内容的<body>,则只会将左上角部分该文件将触发该事件。相反,您希望将其应用于document对象:

jQuery(document).dblclick(function(event){ 
    alert("click"); 
}); 
  

示例:http://jsfiddle.net/a4DKC/2/