在很多網頁中,可以使用快捷來完成一定的動作,比如discuz論壇的“完成後可按 Ctrl+Enter 發布”功能!
這樣的功能是用JavaScript中的event屬性的KeyCode方法完成,利用onKeyDown事件進行驅動。
在JavaScript中,可以通過keyCode屬性來得到使用者所按鍵的ASSCII碼值。具體對應關係可以查ASSCII碼錶。
樣本:<SCRIPT LANGUAGE="JavaScript">
<!--
function hotkey()
{
var a=window.event.keyCode;
if(a==65)
{
alert("你按了a鍵吧");
}
}// end hotkey
document.onkeydown = hotkey; //當onkeydown 事件發生時調用hotkey函數
//-->
</SCRIPT>
另外,在快速鍵的使用中,Alt、Ctrl、shift等輔助鍵也是經常用到的,可以通過altKey、ctrlKey、shiftKey這三個屬性來判斷Alt、Ctrl、shift鍵的狀態
比如event.ctrlKey的值為真,就說明使用者按下了Ctrl鍵。
樣本: <SCRIPT LANGUAGE="JavaScript">
<!--
function hotkey()
{
if(event.ctrlKey)
{
alert("你按了Ctrl鍵吧");
}
}// end hotkey
document.onkeydown = hotkey; //當onkeydown 事件發生時調用hotkey函數
//-->
</SCRIPT>
可以組合起來,形成真正的快速鍵,將執行語句換為你要的效果就可以了。 <SCRIPT LANGUAGE="JavaScript">
<!--
function hotkey()
{
var a=window.event.keyCode;
if((a==65)&&(event.ctrlKey))
{
alert("你按了ctrl+a鍵吧");
}
}// end hotkey
document.onkeydown = hotkey; //當onkeydown 事件發生時調用hotkey函數
//-->
</SCRIPT>
document.onkeydown = hotkey 語句是在全頁面中,當使用者按下鍵時,調用hotkey函數,也許你希望在頁面局部實現快速鍵功能,那麼,你可以仿照下面這樣做(記得刪除"document.onkeydown = hotkey"語句): <textarea rows="7" cols="90" name="message" onKeyDown="javascript: hotkey();" tabindex="2"></textarea>
這樣,只有當游標焦點在文字框中才能使用快速鍵。