日期:2014-05-16  浏览次数:20388 次

javascript设置网页快捷键

很多网页中,可以使用快捷来完成一定的动作,比如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>

  这样,只有当光标焦点在文本框中才能使用快捷键。

屏蔽Alt+F4等快捷键:
<script>
function KeyDown(){ //屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键
//alert("ASCII代码是:"+event.keyCode);
if ((window.event.altKey)&&
((window.event.keyCode==37)|| //屏蔽 Alt+ 方向键 ←
(window.event.keyCode==39))){ //屏蔽 Alt+ 方向键 →
alert("不准你使用ALT+方向键前进或后退网页!");
event.returnValue=false;
}
if ((event.keyCode==8) || //屏蔽退格删除键
(event.keyCode==116)|| //屏蔽 F5 刷新键
(event.keyCode==112)|| //屏蔽 F1 刷新键
(event.ctrlKey && event.keyCode==82)){ //Ctrl + R
event.keyCode=0;
event.returnValue=false;
}
if ((event.ctrlKey)&&(event.keyCode==78)) //屏蔽 Ctrl+n
event.returnValue=false;
if ((event.shiftKey)&&(event.keyCode==121)) //屏蔽 shift+F10
event.returnValue=false;
if (window.event.srcElement.tagName == "A" && window.event.shiftKey)
window.event.returnValue = false; //屏蔽 shift 加鼠标左键新开一网页
if ((window.event.altKey)&&(window.event.keyCode==115)){ //屏蔽Alt+F4
window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");
return false;}
}
function Showhelp(){
alert("Wrong!");
return false;
}
</script>
==============================================================
==============================================================
IE Javascript快捷键操作
1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键
<table border oncontextmenu=return(false)><td>no</table> 可用于Table
2. <body onselectstart="return false"> 取消选取、防止复制
3. onpaste="return false" 不准粘贴
4. oncopy="return false;" oncut="return false;" 防止复制
5. <link rel="Shortcut Icon" href=../../../../"favicon.ico"> IE地址栏前换成自己的图标
6. <link rel="Bookmark" href=../../../../"favicon.ico"> 可以在收藏夹中显示出你的图标
7. <input style="ime-mode:disabled"> 关闭输入法
8. 永远都会带着框架
<script language="javascript"><!--
if (window == top)top.location.href = "frames.htm"; //frames.htm为框架网页
// --></script>
9. 防止被人frame
<SCRIPT LANGUAGE=javascript><!--
if (top.location != self.location)top.location=self.location;
// --></SCRIPT>
10. <noscript><iframe src=../../*.HTML></iframe></noscript> 网页将不能被另存为
11. <input type=button value=查看网页源代码
onclick="window.location = 'view-source:'+ 'http://www.csdn.net/'">
12. 怎样通过ASP的手段来检查来访者是否