超出div时禁用鼠标单击

Sed*_*şar 8 jquery

嗨,我有一个表格的div.我希望当鼠标不在div时禁用点击事件.所以我尝试了这个,但它不工作的div仍然是可点击的.任何的想法??

var flag = false;
$("#foo").live("mouseenter",function(){
    flag = true;
}).live("mouseleave",function(){
    flag = false;
})

$(document).click(function(){
    if(!flag)
         return false;
});
Run Code Online (Sandbox Code Playgroud)

Sha*_*oli 6

您无法阻止从整个文档触发的click事件.您可以按元素进行.您可以使用绝对定位的透明(低不透明度)div来阻挡整个屏幕,并在div可见时再次隐藏它.

var $body = $(document.body);
var $div = $("<div id='dummyDiv'/>").hide().appendTo($body);
$div.css({position:"absolute", height: $body.height(), width: $body.width(), background: "#000", opacity: 0.5}).show(100);

//to hide it
$("#dummyDiv").hide(100);
Run Code Online (Sandbox Code Playgroud)