-1

我使用下面的代码像按钮一样使用我的页面,但问题是当我单击其他按钮时,此功能也有效,您有什么建议?document.body.onmousedown = function()

4

2 回答 2

0

jQuery 示例:

// Stop bubbling with event.stopPropagation(); on inner buttons
$("#selector").on('click',function(event){
    event.stopPropagation();
    // Run your code
});

$("body").on('click', function(){
    // Run your code
});
于 2013-07-19T13:21:00.423 回答
0

您可以按照 Mooseman 的建议进行操作,但您必须添加.stopPropagation()到所有页内处理程序中,所以这是另一种解决方案。

使用event.target来检测事件的来源,如下所示:

$('body').on('click',function(e){
    if (e.target === document.body) {
        alert('body clicked');
    }
});

或使用节点名称:

if (e.target.nodeName.toUpperCase() === 'BODY') {

或 jQuery 方式:

if ($(e.target).is('body')) {

这是一个小提琴。

于 2013-07-19T13:41:23.433 回答