Hoà*_*ong 5 html javascript javascript-events
我有一个带有一些链接的网页,我需要通过jQuery拦截链接点击事件.任务完成得很好,但随后出现问题:如果用户在javascript未完成加载时单击链接,则链接到另一个页面(这是一个错误).
我试图找到一种方法来在页面加载完成之前禁用链接点击,但现在最好的解决方案是我必须添加onclick="return false;"到我的链接中,这不是很优雅.有没有更好的解决方案?
谢谢你的帮助,
您可以尝试使用初始化脚本:
<script language="javascript">
var loaded = false;
function SetLoaded() { loaded = true; }
window.onload = SetLoaded;
</script>
Run Code Online (Sandbox Code Playgroud)
然后你可以添加onclick="return loaded;"到你的href.由于加载在页面加载之前不会成立,因此应禁用添加此链接的任何链接.
这是我提出的一个解决方案:使用链接前面的屏蔽器来防止点击事件。
<div class="LinkMasker"></div>
.LinkMasker {
position: absolute;
z-index: 999;
width: ...px;
height: ...px;
}
Run Code Online (Sandbox Code Playgroud)
页面加载和我的事件全部注册后,我删除了屏蔽器:
$('.LinkMasker').remove();
Run Code Online (Sandbox Code Playgroud)