0
4

5 回答 5

2
 $(document).on('click','.disabledClickevent' function(e) {
   if( e.target !== this ) 
   //clicked out side
 return;    
    //clicked inside
});
于 2013-05-31T13:19:23.750 回答
2

我会这样做:

$(".disabledClickevent").on("click", ":not(a)", function(e) {
    //do stuff with your div
});

这不包括a点击事件。

于 2013-05-31T13:22:40.107 回答
2

可能是一个解决方案:

$('.disabledClickevent').on('click',function(e){
     if($(e.target).is(':not(a)'))
        return false;
});

或将点击处理程序设置为链接:

$('.disabledClickevent a').click(function(e){
    e.stopPropagation();
});
于 2013-05-31T13:22:55.153 回答
0
于 2013-05-31T13:22:26.793 回答
0

如果你不打算通过 Javascript 向页面添加新的“disabledClickevent”div,你可以这样做:

$('.disabledClickevent').click(function() {...});

或者

$('.disabledClickevent').bind('click', function() {...});

这仅将事件附加到已经存在的 div 上,而不进行任何类型的委派,因此链接将按照您的意愿正常工作。

需要明确的是,如果您计划在绑定事件时页面上已经存在所有“disabledClickevent”div,这只是一个可行的解决方案。

于 2013-05-31T13:25:03.100 回答