Events-Keyboard Events
一、.keydown()
當鍵盤按鍵按下時將會觸發事件,跟.keypress()事件很像,
.keydown()與.keypress()的差別請參考.keypress()。
<!DOCTYPE html> <html> <head> <script src="https://code.jquery.com/jquery-3.0.0.js"></script> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>JS Bin</title> </head> <body> <form> <input id="target" type="text" value="Hello there"> </form> <div id="other"> Trigger the handler </div> <script> $("#target").keydown(function (event) { console.log("Handler for .keydown() called. And event.keyCode is " + event.keyCode); }); $("#other").click(function () { $("#target").keydown(); }); </script> </body> </html>
二、.keypress()
跟.keydown()事件很像,當鍵盤按鍵按下時將會觸發事件,
但是.keypress()事件將不能偵測到「ESC」、「Shift」、「delete」等特殊鍵,
而.keypress()比.keydown()卻能辨別出大小寫,
例如:.keypress()能辨識出「a」的keyCode為97,「A」keyCode為65,
但.keydown()只能「a」與「A」的keyCode均視為65。
因此在辨識大小寫建議使用.keypress()方法,而偵測特殊鍵時應使用.keydown()方法。
<!DOCTYPE html> <html> <head> <script src="https://code.jquery.com/jquery-3.0.0.js"></script> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>JS Bin</title> </head> <body> <form> <input id="target" type="text" value="Hello there"> </form> <div id="other"> Trigger the handler </div> <script> $("#target").keypress(function (event) { console.log("Handler for .keypress() called. And event.keyCode is " + event.keyCode); }); $("#other").click(function () { $("#target").keydown(); }); </script> </body> </html>
三、.keyup()
只有當按鍵彈起時將觸發事件,用法跟.keydown()、.keypress()差不多。