問題:我無法檢查Shift鍵是否在表單提交中被保留。這將返回undefined
而不是true
或false
。
爲什麼會發生這種情況?問題的不工作:javascript上的<form onsubmit =「alert(event.shiftKey)」>>
例子:http://jsfiddle.net/DRSDavidSoft/fFYKs/
我想要什麼:我想知道是否當一個表單提交正在舉行的Shift鍵。
感謝您的幫助。
問題:我無法檢查Shift鍵是否在表單提交中被保留。這將返回undefined
而不是true
或false
。
爲什麼會發生這種情況?問題的不工作:javascript上的<form onsubmit =「alert(event.shiftKey)」>>
例子:http://jsfiddle.net/DRSDavidSoft/fFYKs/
我想要什麼:我想知道是否當一個表單提交正在舉行的Shift鍵。
感謝您的幫助。
這是因爲submit
事件對密鑰一無所知。 我建議用按鈕輸入替換你的提交輸入。那裏檢查將工作正常。 下面是示例: http://jsfiddle.net/fFYKs/2/
<input type="button" value="Click here to submit" onclick='isPressed(event);'/>
和JS:
function isPressed(e){
if (e.shiftKey) {
window.myForm.submit();
}
}
也爲跨平臺的詳細信息,建議訪問此鏈接:http://goo.gl/wKdJMO
謝謝,但我已經知道這一點。我的表單包含一個文本輸入,表單應通過回車提交。我只是想改變當按下shift鍵時該窗體的功能。我認爲在這裏堅持收音機箱更好。不管怎麼說,還是要謝謝你! ;) –
我還有一個想法是綁定window.keydown事件,在JS變量中設置按下shift的位置。和windows.keyup - 當這個變量被釋放時,把這個變量設置爲false。並在你的支票使用提到的變量。這應該也很好,但會增加開銷,比如在每個按鍵上的額外檢查。 – sleepwalker
只是好奇,但你想,爲什麼具體檢測該密鑰? –
Ctrl鍵和Alt鍵也會有幫助!我只是想改變一個按鈕的功能。如果你願意,我可以給你一個鏈接到我的項目。 –
這很簡單,onsubmit事件沒有關鍵的概念,因爲應該沒有理由檢查提交的關鍵字。將其更改爲onclick,它將起作用。 – adeneo