【发布时间】:2014-05-01 21:19:08
【问题描述】:
问题:我无法检查 shift 键是否在表单提交上。这将返回 undefined 而不是 true 或 false。
为什么会发生这种情况?
问题示例: http://jsfiddle.net/DRSDavidSoft/fFYKs/
我想要什么:我想知道提交表单时是否按住了 shift 键。
【问题讨论】:
-
只是好奇,但你为什么要专门检测那个键?
-
Ctrl 键和 Alt 键也有帮助!我只想改变一个按钮的功能。如果你愿意,我可以给你一个我的项目的链接。
-
这真的很简单,onsubmit 事件没有键的概念,因为应该没有理由在提交时检查键。把它改成onclick,就可以了。
-
是的,但事件不应该随时报告哪些键被按下或没有被按下?
-
这取决于
event对象的来源,它不是永远不变的神奇对象。一些事件处理程序会有一个event对象,它有一个event.target,键事件会有event.which,鼠标事件通常会有event.pageX等等。这个列表还在继续,所以event对象对于每个都是不同的事件。提交事件没有理由具有event.shiftKey属性或任何其他处理键的属性,因为键在提交表单时无关紧要。
标签: javascript forms dom-events shift onsubmit