Ari*_*ian 4 javascript asp.net jquery
我在javascript中有一个Enter用TABkey 替换的脚本:
function ReplaceEnterWithTab() { if (event.keyCode == 13) event.keyCode = 9; return false; }
Run Code Online (Sandbox Code Playgroud)
我这样使用它:
txt.Attributes.Add("OnKeyDown", "ReplaceEnterWithTab();");
Run Code Online (Sandbox Code Playgroud)
这段代码工作得很好.现在我想用jQuery开发一个不需要添加OnKeyDownattribute 的脚本.请考虑以下示例页面:
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server" CssClass="EntTab"></asp:TextBox>
<br />
<br />
<asp:TextBox ID="TextBox2" runat="server" CssClass="EntTab"></asp:TextBox>
<br />
<br />
<asp:DropDownList ID="DropDownList1" runat="server" CssClass="EntTab">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
</asp:DropDownList>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
我写这段代码:
$(document).ready(function () {
$('.EntTab').on('keydown', function (e) {
if (e.keyCode == 13) e.keyCode = 9;
});
});
Run Code Online (Sandbox Code Playgroud)
问题是当我按下Enter键TextBox1,Button1导致页面回发.我怎么能解决这个问题?
谢谢
尝试:
$(document).ready(function () {
$(".EntTab").bind("keypress", function(e) {
if (e.keyCode == 13) {
var inps = $("input, select"); //add select too
for (var x = 0; x < inps.length; x++) {
if (inps[x] == this) {
while ((inps[x]).name == (inps[x + 1]).name) {
x++;
}
if ((x + 1) < inps.length) $(inps[x + 1]).focus();
}
} e.preventDefault();
}
});
});
Run Code Online (Sandbox Code Playgroud)
你的意思是那样的吗?
| 归档时间: |
|
| 查看次数: |
26540 次 |
| 最近记录: |