如果不加红色这句(btn.focus()),IE下,会先触发btn.click事件,但也接着触发一个什么默认的OnSubmit事件,反正是得不到想要的结果;FF下则正常。加了套红这句,就可以了。
页面代码:
<asp:TextBox ID="txtCondition" runat="server"></asp:TextBox>
<asp:Button Text="搜索" ID="btnSearch" runat="server" onclick="btnSearch_Click"/><script type="text/javascript" language="javascript">
function mn_EnterDragon(e) {
var charCode = e.keyCode;
if (charCode == 13) {
var btn = document.getElementById("<%=btnSearch.ClientID %>");
btn.focus();//最关键是这一句
btn.click();
}
}
</script>
后台代码:
protected void Page_Load(object sender, EventArgs e)
{
txtCondition.Attributes.Add("onkeydown", "mn_EnterDragon(event)");
}
本文探讨了在不同浏览器环境下,如何使用JavaScript确保按钮点击事件的一致性,特别针对IE和FF的事件触发行为差异提供了解决方案。通过引入关键的`btn.focus()`语句,确保了在IE环境下正确触发点击事件,同时避免了默认的OnSubmit事件干扰,实现了预期的交互效果。
1339

被折叠的 条评论
为什么被折叠?



