javascript-检测ctrl键被按下或向上,按键事件不';t触发器
我在这里看到了一些类似的问题(比如),但我的问题实际上是事件触发。我的js代码:javascript-检测ctrl键被按下或向上,按键事件不';t触发器,javascript,ctrl,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
// 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;
}
}
该事件会触发除ctrl键以外的任何其他键。我还需要为ctrl键触发它。
我不能使用jQuery/prototype/任何东西,所以这些解决方案是不可接受的 所以。。。如何检测ctrl?尝试使用
if(e.ctrlKey)
尝试使用if(e.ctrlKey)
您的事件有一个名为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
您的事件具有名为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
使用onkeydown而不是onkeypress可能会有所帮助 从 注意:不会对所有键(例如ALT、CTRL、, 所有浏览器中的SHIFT、ESC)。仅检测用户是否有 按下一个键,改用onkeydown事件,因为它适用于 所有的钥匙
使用onkeydown而不是onkeypress可能会有所帮助 从 注意:不会对所有键(例如ALT、CTRL、, 所有浏览器中的SHIFT、ESC)。仅检测用户是否有 按下一个键,改用onkeydown事件,因为它适用于 所有的钥匙 这个:if(e.ctrlKey){…}行吗?这个:if(e.ctrlKey){…}行吗。。?