我正在使用以下代码来禁用预览页面上的所有链接:
var disableLink = function(){ return false;};
$('a').bind('click', disableLink);
这会禁用所有静态加载的链接。然而,所有使用ajax加载的标签仍然可按。
我该如何做到即使是动态加载的链接也被禁用在我的预览中?
我正在使用以下代码来禁用预览页面上的所有链接:
var disableLink = function(){ return false;};
$('a').bind('click', disableLink);
这会禁用所有静态加载的链接。然而,所有使用ajax加载的标签仍然可按。
我该如何做到即使是动态加载的链接也被禁用在我的预览中?
pointer-events: none
。根据MDN的说明:
你可以直接对标签进行样式设置:该元素不会成为鼠标事件的目标;
a {
pointer-events: none;
}
然而,如果你不想禁用页面上所有的a
标签,你应该将其限制在容器内部的锚点元素中:
#container a {
pointer-events: none;
}
演示
setTimeout(function() {
$('#container').append('<a href="http://www.facebook.com">Facebook</a>');
$('#child').append('<a href="http://www.yahoo.com">Yahoo</a>');
}, 1000);
#child {
border: 1px solid black;
}
#container a {
pointer-events: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container">
<a href="http://www.google.com">Google</a>
<div id="child"></div>
</div>