如何禁用<a onclick=""> when the user holds control</a>

时间:2010-04-15 19:42:10

标签: javascript html templates

通常,当人们点击链接时,我会点击它。然后返回false。

当人们点击“控制”时,他们希望打开一个新页面。因此,我想忽略onclick AND / OR检测它。我该怎么做?

3 个答案:

答案 0 :(得分:5)

event对象有一个“ctrlKey”布尔标志,因此您可以在处理程序中检查它。它取决于您的框架,但通常如果您的处理程序返回false,那么您将“击败”该单击。

在IE中,event对象是全局的(即“窗口”对象的属性)。在其他浏览器中,它是传递给处理程序的参数。因此,一个常见的习语是:

function clickHandler(theEvent) {
  theEvent = theEvent || window.event;
  // ...
}

答案 1 :(得分:0)

您需要使用OnMouseDown事件。

答案 2 :(得分:0)

您可以挂钩OnKeyPress事件并检查是否按下了控制键。如果是这样,请引发OnClick上使用的标志。如果该标志已启动,则跳过所有OnClik正常代码并将其放在其他地方,执行您需要的操作。