如何禁用在div中单击

Reh*_*hmy 35 javascript jquery

出于多种原因,我需要禁用单击div元素中的某些内容.例如,由于点击广告攻击.我仍然希望它可见.

请考虑以下代码段: -

<div class="ads">
something should be here, i do not want to be clicked
</div>
Run Code Online (Sandbox Code Playgroud)

如何禁用左键单击的功能div

Avi*_*iad 71

可以使用的CSS属性是:

pointer-events:none
Run Code Online (Sandbox Code Playgroud)

!重要事项 请记住,Opera Mini和IE 10及以下版本(包括)不支持此属性.这些浏览器需要另一种解决方案.

jQuery METHOD 如果你想通过脚本而不是CSS属性来禁用它,这些可以帮助你:如果你正在使用jQuery版本1.4.3+:

$('selector').click(false);
Run Code Online (Sandbox Code Playgroud)

如果不:

$('selector').click(function(){return false;});
Run Code Online (Sandbox Code Playgroud)

  • 哦,你是我的救星!我确实花了很多时间尝试找出如何阻止用户点击某个项目。后来,“光标事件”这句话出现在我的脑海里,我得到了你的答案。很酷,不是吗? (2认同)

小智 22

如果你想在纯CSS中使用它:

pointer-events:none;
Run Code Online (Sandbox Code Playgroud)

  • 请参阅下面的答案,因为这不是一个强大的解决方案. (2认同)

Rak*_*mar 5

尝试这个:

pointer-events:none
Run Code Online (Sandbox Code Playgroud)

在指定的 HTML 元素上添加上面的内容将阻止所有单击、状态和光标选项。

http://jsfiddle.net/4hrpsrnp/

<div class="ads">
 <button id='noclick' onclick='clicked()'>Try</button>
</div>
Run Code Online (Sandbox Code Playgroud)


小智 5

如果使用 onclick DIV 函数,然后想要再次禁用它,您可以使用以下命令:

for (var i=0;i<document.getElementsByClassName('ads').length;i++){
    document.getElementsByClassName('ads')[i].onclick = false;
}
Run Code Online (Sandbox Code Playgroud)

示例:
HTML

<div id='mybutton'>Click Me</div>
Run Code Online (Sandbox Code Playgroud)

JavaScript

document.getElementById('mybutton').onclick = function () {
    alert('You clicked');
    this.onclick = false;
}
Run Code Online (Sandbox Code Playgroud)