如果我只是点击大多数Facebook链接,它将使用ajax加载到同一页面上,但如果我中/按住它,它将被加载到新标签中。
我已经完成了一半但它不能完全正常工作,[编辑]中键点击并右键单击>打开新标签页打开是新选项卡,但按住Ctrl键单击调用点击[/编辑]。知道如何正确地做到这一点吗?
<a href="/link/location" onclick="doAjax(); return false;">link</a>
答案 0 :(得分:3)
不是总是直接在(内联)onclick中返回false,而是要返回函数的结果,然后在函数测试中是否使用了控制键:
<a href="/link/location" onclick="return doAjax(event);">link</a>
<script>
function doAjax(e) {
if (!e) e = window.event;
if (!e.ctrlKey) {
alert("Ajax code here");
return false;
}
}
</script>
有关鼠标事件的事件对象属性的更多信息:https://developer.mozilla.org/en/DOM/MouseEvent
(顺便说一句,对于内联事件处理程序,你不应该需要if (!e)
位,但是我有点习惯于编写它,因为我不倾向于使用内联事件处理程序。)< / p>