$('body').click(function() {
//hide layer code here
});
这将隐藏图层。
但是当我在图层内部/上单击时,我不希望图层被隐藏。
请帮忙。
我认为更优雅的方式是这样的:
$('body').click(function(event) {
// hide layer code here
});
$('#layer').click(function(event) {
event.stopPropagation();
});
你可以尝试这样的事情。
$(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.
});
$('body').click(function(ev){
if(ev.target.className == 'yourLayerClass') {
// Your code here
}
});
获取要分层的 id。例如:#层
并将此代码放入您的脚本文件:
$('#layer').on('click', function (event) {
event.stopPropagation();
});