【发布时间】:2012-05-23 16:56:52
【问题描述】:
我正在开发一个小型问卷,并在从 Javascript 中按下 TAB 键时触发 ASP LinkButton 点击。
Javascript如下:
document.onkeydown = keydown;
function keydown(event) {
if (event.key == "Tab" || event.keyCode == 9 || event.which == 9 && !event.shiftKey)
__doPostBack('<%=btnNext.UniqueID%>', '', true, '', '', false, true);
else if (!event) {
if (window.event.keyCode == 9 && window.event.keyCode == 9 && !window.event.shiftKey)
__doPostBack('<%=btnNext.UniqueID%>', '', true, '', '', false, true);
}
}
我的 ASP LinkButton 如下所示:
<asp:LinkButton ID="btnNext" runat="server" CausesValidation="true"></asp:LinkButton>
LinkButton 使页面重新加载下一个问题。这一切在 Firefox 和 Chrome 中都能完美运行,但在 IE 中却不行。
在 IE 中,只有第一次 TAB 按键有效,但是当我第二次按 TAB 时,在加载下一个问题后,没有任何反应。
知道如何让它在 IE 中运行吗?讨厌这些浏览器差异......
【问题讨论】:
-
在函数末尾添加 return false
-
@Webtecher 现在可以工作了,但是现在我按下的所有键都会进行回发。如何让它只在 TAB 键上触发??
标签: javascript asp.net dom-events postback