工作,我把下面的代碼從a question這裏在計算器上:jQuery腳本不會在Firefox
$('body').click(function(event) {
if (!$(event.target).closest('#myDiv').length) {
$('#myDiv').hide();
};
});
唯一的問題是,在Firefox(Safari瀏覽器上工作)不工作。這是爲什麼? 我應該如何改變它以使其與Firefox兼容?
工作,我把下面的代碼從a question這裏在計算器上:jQuery腳本不會在Firefox
$('body').click(function(event) {
if (!$(event.target).closest('#myDiv').length) {
$('#myDiv').hide();
};
});
唯一的問題是,在Firefox(Safari瀏覽器上工作)不工作。這是爲什麼? 我應該如何改變它以使其與Firefox兼容?
這是一個老把戲從Which HTML element is the target of the event?複製
$(function() {
$('body').click(function(event) {
var targ;
if (event.target) targ = event.target;
else if (event.srcElement) targ = event.srcElement;
if (targ.nodeType == 3) // defeat Safari bug
targ = targ.parentNode;
if (!$(targ).closest('#myDiv').length) {
$('#myDiv').hide();
};
});
});
DEMO 點擊的div以外將hied股利!$(targ).closest('#myDiv').length
它適用於演示,但在我的網站上不起作用。我在jQuery UI 1.8.16中使用jQuery 1.7.2。唯一不同於該代碼的是在設置'$(「#myDiv」)。draggable();'之前。爲什麼它不起作用? – Shoe
試試這個,讓我知道,如果它不工作
$('body').click(function(event) {
target = (window.event) ? window.event.srcElement /* for IE */ : event.target;
if (!($(target).closest('#myDiv').length>0)) {
$('#myDiv').hide();
};
});
它不起作用 – Shoe
哪部分不起作用?該事件不會觸發?或者選擇器沒有找到任何東西? – inkedmn