3

我的 asp.net 控件如下所示;

<asp:Button ID="btnLogOut" runat="server" Text="Exit" ClientIDMode="Static" OnClick="btnLogOut_Click" />

和js事件;

 $("#btnLogOut").keyup(function (event) {
    if (event.which == 13 || event.keyCode == 13) {
        alert(event.keyCode);
        $("#btnLogOut").preventDefault();
        return false;
    }
    else return true;
});

在页面上,当我按下回车键时,它会触发 btnLogOut 按钮。为了防止这种情况,我在上面写了 js 事件。警报说 keyCode 是 13 但它并没有阻止点击功能,我注销了。

我怎样才能解决这个问题?这尤其发生在 IE 中

编辑:event.preventDefault也不工作。

4

6 回答 6

11

preventDefault()是 Event 对象 ( event) 的一个方法,因此您需要在其上调用它:event.preventDefault().

但是,keyup如果密钥已经被处理,那么阻止事件是没有意义的。keydown代替它。

于 2013-04-16T15:59:52.077 回答
3

keyup不能取消,你可以keydown

并使用event.preventDefault();

于 2013-04-16T15:58:55.177 回答
2

您应该使用event.preventDefault();而不是调用preventDefault()对象本身。

于 2013-04-16T15:58:53.027 回答
2

preventDefault与事件对象一起使用

$("#btnLogOut").keyup(function (event) {
    if (event.which === 13 || event.keyCode === 13) {
        alert(event.keyCode);
        event.preventDefault();
        return false;
    }
    else return true;
});
于 2013-04-16T15:59:19.993 回答
1

哟需要使用event.preventDefault()

于 2013-04-16T15:58:58.600 回答
1

尝试更改$("#btnLogOut").preventDefault();event.preventDefault();

于 2013-04-16T16:00:22.963 回答