【发布时间】:2011-11-19 20:52:18
【问题描述】:
我需要找到一种方法来确定链接是否已通过鼠标单击或按键激活。
<a href="" onclick="submitData(event, '2011-07-04')">Save</a>
这个想法是,如果他们使用鼠标点击链接,那么他们可以继续使用鼠标来选择下一步做什么。但是,如果他们在页面上切换并切换到“保存”链接,那么我将打开下一行进行编辑(该页面就像一个电子表格,每一行都可以使用 ajax 进行编辑)。
我以为可以查询事件参数是哪个鼠标按钮被按下,但是当没有按钮被按下时,答案是0,和鼠标左键一样。他们我认为我可以从事件中获取 keyCode,但它会以未定义的形式返回,所以我假设鼠标事件不包含该信息。
function submitData(event, id)
{
alert("key = "+event.keyCode + " mouse button = "+event.button);
}
总是返回“key = undefined mouse button = 0”
你能帮忙吗?
【问题讨论】:
-
这种策略毫无意义。仅仅因为鼠标单击用于一次交互并不意味着用户想要使用鼠标进行所有交互,对于键盘事件也是如此。为什么要使用行为类似于按钮的链接?
-
这两个选择都超出了我的工资等级,尽管我明白第一个。这个想法是,某些高级用户(其中很少有人)会希望编辑页面上的每一行,就像电子表格一样,他们不喜欢在键盘和鼠标之间切换。其他用户只想编辑一行然后离开。如果在他们编辑完他们选择的行后,下一行变成了可编辑字段,他们会分心并可能也编辑该行。
标签: javascript onclick mouseevent keypress