天天@BLOG

脖子越来越疼,脑袋越来越钝
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

设置网页快捷键原理

Posted on 2006-05-29 22:39  天天在线  阅读(342)  评论(0编辑  收藏  举报
  在很多网页中,可以使用快捷来完成一定的动作,比如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" onKeyDown="javascript: hotkey();" tabindex="2"></textarea>

  这样,只有当光标焦点在文本框中才能使用快捷键。
@忙碌,不代表有效率;方法,远胜于苦干