屏蔽Button按钮对Enter回车键的响应 及实现Enter->Tab效果
案例如下:
一般情况下
当一个页面有TextBox以及Button的时候
当光标停留在TextBox上 此时按Enter键 回车
就会发现光标将焦点停留在Button上
并且触发了Button的按钮事件
本例实现如下效果
0.一个包含[姓名TextBox1]和[备注TextBox2]以及[确定Button按钮]的页面
1.屏蔽按钮对回车键的响应 而只响应鼠标的点击
2.以及实现Enter键->Tab键的转换
即TextBox1非空时 按回车键 光标转到TextBox2
当TextBox2非空时 按回车键 光标转到Button
当光标停留在Button上时 按回车键 光标转到TextBox1
---------------------------------------
相关代码示例如下:
2<html>
3<head id="Head1" runat="server">
4 <title>屏蔽Button按钮对Enter键的响应</title>
5 <script language="javascript" type="text/javascript">
6
7 //TextBox1的 onkeydown事件
8 //若TextBox1非空 则光标停留在TextBox2
9 function TextBox1onKeyDown()
10 {
11 if(event.keyCode==13)
12 {
13 if(document.all.TextBox1.value=="")
14 {
15 document.all.TextBox1.focus();
16 event.keyCode = 0;
17 event.returnValue = false;
18 }
19 else
20 {
21// event.keyCode=9;//Enter键->Tab键
22 document.all.TextBox2.focus();
23 event.keyCode = 0;
24 event.returnValue = false;
25 }
26 }
27 }
28
29 //TextBox2的 onkeydown事件
30 //若TextBox2非空 则光标停留在Button1
31 function TextBox2onKeyDown()
32 {
33 if(event.keyCode==13)
34 {
35 if(document.all.TextBox2.value=="")
36 {
37 document.all.TextBox2.focus();
38 event.keyCode = 0;
39 event.returnValue = false;
40 }
41 else
42 {
43// event.keyCode=9;//Enter键->Tab键
44 document.all.Button1.focus();
45 event.keyCode = 0;
46 event.returnValue = false;
47 }
48 }
49 }
50
51 //Button1的 onkeydown事件
52 //如果是回车键
53 //则光标停留在TextBox1
54 //不触发按钮事件
55 function Button1onKeyDown()
56 {
57 if(event.keyCode==13)
58 {
59 document.all.TextBox1.focus();
60 event.keyCode = 0;
61 event.returnValue = false;
62 }
63 }
64
65 //Button1的 onClick事件
66 function btnOnClick()
67 {
68 alert(event.keyCode);
69 alert('onclick');
70 }
71
72 </script>
73</head>
74<body>
75 <form id="form1" runat="server">
76 <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
77 <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
78 <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
79 </form>
80</body>
81</html>
后台代码:
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.TextBox1.Attributes.Add("onkeydown", "TextBox1onKeyDown();");
this.TextBox2.Attributes.Add("onkeydown", "TextBox2onKeyDown();");
this.Button1.Attributes.Add("onkeydown", "Button1onKeyDown();");
this.Button1.Attributes.Add("onclick", "btnOnClick();");
this.TextBox1.Focus();
}
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write("onclickServer");
}
}
posted on 2007-02-28 09:38 freeliver54 阅读(7092) 评论(3) 编辑 收藏 举报