问问题
105 次
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 回答