$('body').click(function() {
//hide layer code here
});
这会隐藏图层。
但是当我点击图层内部/上面时,我不希望隐藏图层。
请帮忙。
答案 0 :(得分:1)
我认为更优雅的方式是:
$('body').click(function(event) {
// hide layer code here
});
$('#layer').click(function(event) {
event.stopPropagation();
});
答案 1 :(得分:0)
$('body').click(function(ev){
if(ev.target.className == 'yourLayerClass') {
// Your code here
}
});
答案 2 :(得分:0)
你可以尝试这样的事情。
$(document).ready(function () {
$('body').click(function(e) {
if(e.target.id !== 'layer') {
alert('Put code to hide layer here');
}
});
});
</script>
<body>
<p id='layer'>This is layer</p>
<p id='other'>This is other part </p>
</body>
此外,您可以创建叠加层(标准方式)
HTML
<body>
<div id='overlay'></div>
<p id='layer'>This is layer</p>
</body>
JS
$('#overlay').click(function(e) {
alert('code to hide your layer');
// Notice that this function won run when you click on layer but will run whenever you on any other part of body.
});
答案 3 :(得分:0)
获取图层的ID。例如:#layer
并将此代码放入您的脚本文件中:
$('#layer').on('click', function (event) {
event.stopPropagation();
});