設定網頁快速鍵原理

來源:互聯網
上載者:User
網頁

在很多網頁中,可以使用快捷來完成一定的動作,比如discuz論壇的“完成後可按 Ctrl+Enter 發布”功能!

  這樣的功能是用JavaScript中的event屬性的KeyCode方法完成,利用onKeyDown事件進行驅動。
  在JavaScript中,可以通過keyCode屬性來得到使用者所按鍵的ASSCII碼值。具體對應關係可以查ASSCII碼錶。
例子:

CODE:  [Copy to clipboard]
--------------------------------------------------------------------------------

<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鍵。
例子:

CODE:  [Copy to clipboard]
--------------------------------------------------------------------------------

<SCRIPT LANGUAGE="JavaScript">
<!--
function hotkey()
{

if(event.ctrlKey)
{
alert("你按了Ctrl鍵吧");
}
}// end hotkey

document.onkeydown = hotkey; //當onkeydown 事件發生時調用hotkey函數
//-->
</SCRIPT>


  可以組合起來,形成真正的快速鍵,將執行語句換為你要的效果就可以了。

CODE:  [Copy to clipboard]
--------------------------------------------------------------------------------

<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"語句):
 


CODE:  [Copy to clipboard]
--------------------------------------------------------------------------------

<textarea rows="7" cols="90" name="message" tabindex="2"></textarea>

  這樣,只有當游標焦點在文字框中才能使用快速鍵。



相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

11.11 Big Sale for Cloud

Get Unbeatable Offers with up to 90% Off,Oct.24-Nov.13 (UTC+8)

Get It Now >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。