出于多种原因,我需要禁用在 div
元素内某些内容的点击操作,例如受到点击广告攻击的影响。但我仍希望它可见。
请考虑以下片段:
<div class="ads">
something should be here, i do not want to be clicked
</div>
如何禁用该
内的左键单击能力?
出于多种原因,我需要禁用在 div
元素内某些内容的点击操作,例如受到点击广告攻击的影响。但我仍希望它可见。
请考虑以下片段:
<div class="ads">
something should be here, i do not want to be clicked
</div>
如何禁用该
可以使用的CSS属性是:
pointer-events:none
!IMPORTANT请注意,此属性不受 Opera Mini 和 IE 10(含)及以下浏览器的支持。需要其他解决方案。
使用 jQuery 方法如果您想通过脚本而非 CSS 属性禁用它,则可以使用以下方法:如果您正在使用 jQuery 版本 1.4.3+:
$('selector').click(false);
如果不是:
$('selector').click(function(){return false;});
你可以使用 pointer-events: auto;
(文档)来重新启用点击功能。
请注意,pointer-events
属性会覆盖 cursor
属性,所以如果你想要的光标不是标准的 ,你的 CSS 样式应该放在
pointer-events
后面。
如果你想使用纯CSS:
pointer-events:none;
试试这个:
pointer-events:none
在指定的HTML元素上添加上述代码将防止所有的点击、状态和光标选项。
<div class="ads">
<button id='noclick' onclick='clicked()'>Try</button>
</div>
如果使用onclick DIV函数并希望再次禁用点击,可以使用以下代码:
for (var i=0;i<document.getElementsByClassName('ads').length;i++){
document.getElementsByClassName('ads')[i].onclick = false;
}
<div id='mybutton'>Click Me</div>
Javascript
document.getElementById('mybutton').onclick = function () {
alert('You clicked');
this.onclick = false;
}
您可以使用CSS
.ads{pointer-events:none}
或者使用JavaScript阻止事件
$("selector").click(function(event){
event.preventDefault();
});
<p class="btn1">One</p>
<div id="box1" class="popup">
Test Popup Box One
<span class="close">X</span>
</div>
<!-- Two -->
<p class="btn2">Two</p>
<div id="box2" class="popup">
Test Popup Box Two
<span class="close">X</span>
</div>
<style>
.disabledbutton {
pointer-events: none;
}
.close {
cursor: pointer;
}
</style>
<script>
$(document).ready(function(){
//One
$(".btn1").click(function(){
$("#box1").css('display','block');
$(".btn2,.btn3").addClass("disabledbutton");
});
$(".close").click(function(){
$("#box1").css('display','none');
$(".btn2,.btn3").removeClass("disabledbutton");
});
</script>