按功能键时的javascript自定义操作
我正在编写一个包含几个文本框和一些按钮的程序,并在这些按钮的点击事件中调用javascript函数。此外,我希望函数键(F2、F4等)允许用户调用这些javascript函数。下面的代码运行良好,调用了正确的函数,但问题是当我按具有相同键代码的键(q=113,r=114,s=115,t=116,u=117,v=118)时,这些函数会执行按功能键时的javascript自定义操作,javascript,html,Javascript,Html,我正在编写一个包含几个文本框和一些按钮的程序,并在这些按钮的点击事件中调用javascript函数。此外,我希望函数键(F2、F4等)允许用户调用这些javascript函数。下面的代码运行良好,调用了正确的函数,但问题是当我按具有相同键代码的键(q=113,r=114,s=115,t=116,u=117,v=118)时,这些函数会执行 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Function Keys Demo</title>
<style type="text/css" media="all">
.btn{
min-width: 200px;
}
</style>
<script language="javascript" type="text/javascript">
if(document.addEventListener){ //code for Moz
document.addEventListener("keydown",keyCapt,false);
document.addEventListener("keyup",keyCapt,false);
document.addEventListener("keypress",keyCapt,false);
}else{
document.attachEvent("onkeydown",keyCapt); //code for IE
document.attachEvent("onkeyup",keyCapt);
document.attachEvent("onkeypress",keyCapt);
}
function keyCapt(e){
if(typeof window.event!="undefined"){
e=window.event;//code for IE
}
if(window.event && e.keyCode==113){ F2_Click();event.keyCode = 0; event.returnValue = false;}
if(window.event && e.keyCode==114){ F3_Click(); event.keyCode = 0;event.returnValue = false;}
if(window.event && e.keyCode==116) {F5_Click();event.keyCode = 0; event.returnValue = false;}
if(window.event && e.keyCode==117) {F6_Click();event.keyCode = 0; event.returnValue = false;}
if(window.event && e.keyCode==118) {F7_Click();event.keyCode = 0; event.returnValue = false;}
alert(e.keyCode);
}
function F2_Click()
{
alert("Save Clicked");
document.getElementById("txtLabNo").focus();
}
function F3_Click()
{
alert("Print Clicked");
document.getElementById("txtLabNo").focus();
}
function F5_Click()
{
alert("F5 Clicked");
document.getElementById("txtLabNo").focus();
}
function F6_Click()
{
alert("F6 Clicked");
document.getElementById("txtLabNo").focus();
}
function F7_Click()
{
alert("Save & Print Clicked");
document.getElementById("txtLabNo").focus();
}
</script>
</head>
<body onload="document.getElementById('txtLabNo').focus();">
<form id="form1">
<div>
<table style="width: 900PX; border: solid thin black;">
<colgroup>
<col style="width: 150px; text-align: left; vertical-align: top; padding: 5px;" />
<col style="width: 150px; text-align: left; vertical-align: top; padding: 5px;" />
<col style="width: 350px; text-align: left; vertical-align: top; padding: 5px;" />
<col style="width: 150px; text-align: center; vertical-align: top; padding: 5px;" />
</colgroup>
<tr>
<td>
Lab No.</td>
<td>
<input type="text" tabindex="1" id="txtLabNo" /></td>
<td rowspan="5">
</td>
<td rowspan="5">
<input class="btn" type="button" value="Save (F2)" tabindex="10" onclick="F2_Click();" /><br />
<input class="btn" type="button" value="Print (F3)" tabindex="11" onclick="F3_Click();" /><br />
<input class="btn" type="button" value="Button 5 (F5)" tabindex="12" onclick="F5_Click();" /><br />
<input class="btn" type="button" value="Button 6 (F6)" tabindex="13" onclick="F6_Click();" /><br />
<input class="btn" type="button" value="Save & Print (F7)" tabindex="14" onclick="F7_Click();" /><br />
</td>
</tr>
<tr>
<td>
Patient Name</td>
<td>
<input type="text" tabindex="2" id="txtName" /></td>
</tr>
<tr>
<td>
Age</td>
<td>
<input type="text" id="txtAge" tabindex="3" /></td>
</tr>
<tr>
<td>
Test</td>
<td>
<input type="text" id="txtTest" tabindex="4" /></td>
</tr>
<tr>
<td>
Result</td>
<td>
<input type="text" id="txtResult" tabindex="5" /></td>
</tr>
</table>
</div>
</form>
</body>
</html>
功能键演示
.btn{
最小宽度:200px;
}
if(document.addEventListener){//Moz代码
文件。添加的监听器(“向下键”,keyCapt,false);
文件。添加的监听器(“keyup”,keyCapt,false);
文件。添加的监听器(“按键”,keyCapt,false);
}否则{
document.attachEvent(“onkeydown”,keyCapt);//IE代码
文件附件(“onkeyup”,keyCapt);
文件。附件(“onkeypress”,keyCapt);
}
功能键CAPT(e){
if(窗口事件的类型!=“未定义”){
e=window.event;//IE的代码
}
如果(window.event&&e.keyCode==113){F2_Click();event.keyCode=0;event.returnValue=false;}
如果(window.event&&e.keyCode==114){F3_Click();event.keyCode=0;event.returnValue=false;}
如果(window.event&&e.keyCode==116){F5_Click();event.keyCode=0;event.returnValue=false;}
如果(window.event&&e.keyCode==117){F6_Click();event.keyCode=0;event.returnValue=false;}
如果(window.event&&e.keyCode==118){F7_Click();event.keyCode=0;event.returnValue=false;}
警报(如钥匙代码);
}
函数F2_Click()
{
警报(“单击保存”);
document.getElementById(“txtLabNo”).focus();
}
功能F3_单击()
{
警报(“点击打印”);
document.getElementById(“txtLabNo”).focus();
}
功能F5_单击()
{
警报(“单击F5”);
document.getElementById(“txtLabNo”).focus();
}
功能F6_单击()
{
警报(“单击F6”);
document.getElementById(“txtLabNo”).focus();
}
功能F7_单击()
{
警报(“单击保存并打印”);
document.getElementById(“txtLabNo”).focus();
}
实验室编号。
患者姓名
年龄
测验
后果
您可以使用
现场演示:
太好了,谢谢。尽管shortcut.js链接似乎已断开。我从下载了这个,程序运行得很好。
shortcut.add("F2", function() {
$('span').html("F2 أحسنت. لقد ضغطت على حرفي C");
});
shortcut.add("F3", function() {
$('span').html("أحسنت. لقد ضغطت على حرفي F3V");
});
});