我在这里看到一些类似的问题(比如JavaScript:检查是否按下了CTRL按钮)但我的问题实际上是事件触发.我的js代码:
// Listen to keyboard.
window.onkeypress = listenToTheKey;
window.onkeyup = listenToKeyUp;
/*
Gets the key pressed and send a request to the associated function
@input key
*/
function listenToTheKey(e)
{
if (editFlag == 0)
{
// If delete key is pressed calls delete
if (e.keyCode == 46)
deleteNode();
// If insert key is pressed calls add blank
if (e.keyCode == 45)
createBlank();
if (e.keyCode == 17)
ctrlFlag = 1;
}
}
Run Code Online (Sandbox Code Playgroud)
事件触发除了以外的任何其他键ctrl.
我还需要触发它ctrl.
我不能使用jQuery/prototype /,所以这些解决方案是不可接受的.
那么......我怎么能发现ctrl?
Ric*_*ing 16
您的活动有一个名为ctrlKey的属性.您可以检查此项以查看是否按下了该键.有关键的更多控制,请参阅下面的代码段.
function detectspecialkeys(e){
var evtobj=window.event? event : e
if (evtobj.altKey || evtobj.ctrlKey || evtobj.shiftKey)
alert("you pressed one of the 'Alt', 'Ctrl', or 'Shift' keys")
}
document.onkeypress=detectspecialkeys
Run Code Online (Sandbox Code Playgroud)
小智 16
使用onkeydown而不是onkeypress可能会有所帮助.
来自http://www.w3schools.com/jsref/event_onkeypress.asp
注意:并未针对所有浏览器中的所有键(例如ALT,CTRL,SHIFT,ESC)触发onkeypress事件.要仅检测用户是否按下了某个键,请使用onkeydown事件,因为它适用于所有键.
| 归档时间: |
|
| 查看次数: |
64815 次 |
| 最近记录: |