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

Can I apply click event on body element?

本文关键字:click 事件 应用 body 元素 我可以      更新时间:2023-09-26

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

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

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

是:

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