我正在尝试编写一个方法来捕获用户在网站菜单上的点击,但我希望这个过程对用户来说是静默的,主要是当用户悬停在锚点标记上时,它会正常地表现出来(显示它包含的链接)。我已经尝试了各种方式来做到这一点,现在我几乎已经成功了,我的代码如下:
<div class="selectNode" id="selectNode_1" style="color: rgb(229, 229, 229); background-color: rgb(47, 47, 47); ">
<a href="http://www.google.com" class="selectAnchor" style="color: rgb(229, 229, 229); ">
Google
</a>
<img class="childImage" src="icon.png">
</div>
在 jQuery 中,我有:
$(".selectAnchor, .menuAnchor").click(function(event){
event.stopPropagation();
console.log(event.target.nodeName);
//event.preventDefault();
$.ajax({
type: 'POST',
url: 'http://localsite/menuRedirect.php',
data: {id:0, module:'Module',source:'Source'},
complete: function(data){
console.log("DONE");
return true;
}
});
});
链接可以重定向到选定的页面,但是ajax代码永远不会完成,因此无法注册用户的点击。
我尝试使用event.preventDefault,但是没有办法恢复取消的事件。
部分问题来自额外的功能,例如,大多数用户右键单击锚标记以在新标签页中打开(或使用ctrl +单击或中间单击),使用类似于
<a href="javascript:saveClick(o)">Google</a>
由于安全原因,不允许在该网站上进行此操作。
有什么建议可以解决这个问题吗?