在php javascript中禁用a href链接
我的页面(.phtml文件)中有4个链接,如下所示在php javascript中禁用a href链接,javascript,php,disable-link,Javascript,Php,Disable Link,我的页面(.phtml文件)中有4个链接,如下所示 <ul id="fileMenu" class="contextMenu"> <li class="add"><a id ="addbtn" href="#add" style="display:none;">Add</a></li> <li class="download"><a href="#download">Download</a&
<ul id="fileMenu" class="contextMenu">
<li class="add"><a id ="addbtn" href="#add" style="display:none;">Add</a></li>
<li class="download"><a href="#download">Download</a></li>
<li class="rename"><a href="#rename">Rename</a></li>
<li class="del"><a href="#delete">Delete</a></li>
<li class="copypath"><a href="#copypath">Copypath</a></li>
</ul>
我想禁用添加、重命名和删除链接
只需从UI禁用它即可
用户应该能够看到它,但不应执行任何单击事件(链接应灰显)
我用过
disable=“disabled”
display=none代码>
还有其他办法吗?使用指针事件:无
<a style='pointer-events:none;background-color:#CFCFCF;color:#000' href="javascript: void(0)">Delete</a>
如果您使用的是jQuery,您可能需要这样做
$(function() {
$('#addbtn').click(function(e) {
e.preventDefault();
//do other stuff when a click happens
});
}
我将使用此CSS以视觉方式禁用链接:
.disable {
position: relative;
}
.disable:before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 100;
}
.disable a {
color: gray;
cursor: default;
}
然后,为了禁用链接,您将在相应的li
上放置一个类disable
:
<li class="download disable"><a href="#download">Download</a></li>
它所做的基本上是用透明的伪元素:before
覆盖链接
另一个解决方案可能是使用指针事件:none
规则,但IE中不支持它
演示:我不确定这是不是最好的方法,但它可以做到这一点 如果你使用
pointer-events: none; in your css
或者,如果您想从javascript调用它:
elem.style.display.pointerEvents = "none";
禁用与用户的交互。有几个选项。使用普通的旧javascript,您可以执行以下操作,例如:
<a href="mylink.html" onclick="return false;">Download</a>
或
使用jQuery,您可以轻松禁用许多链接:
<a href="mylink.html" class="disabled">Download</a>
<a href="anotherlink.html" class="disabled">Delete</a>
<script>
jQuery(document).ready(function($) {
$('a.disabled').on('click', function(e) {
e.preventDefault();
});
});
</script>
jQuery(文档).ready(函数($){
$('a.disabled')。在('click',函数(e){
e、 预防默认值();
});
});
你甚至可以使用CSS
<a href="mylink.html" class="disabled">Download</a>
<style type="text/css">
a.disabled { pointer-events: none; }
</style>
a、 已禁用{指针事件:无;}
尽管如此,你也不会感到惊讶
$("#fileMenu").disableContextMenuItems('#add');
$("#fileMenu").disableContextMenuItems('#rename');
$("#fileMenu").disableContextMenuItems('#delete');
当我在ul列表中使用contextMenu类时。类似于
onclick=“return false;”
?可能重复-值得一提的是,IE仅支持版本11中的指针事件
。当指针事件关闭时,您不能强制大多数浏览器将光标显示为指针。这也可以正常工作,但请记住IE的限制,我决定选择其他选项!仍然感谢您分享您的知识:)
$("#fileMenu").disableContextMenuItems('#add');
$("#fileMenu").disableContextMenuItems('#rename');
$("#fileMenu").disableContextMenuItems('#delete');