如何在仍然允许javascript运行的同时防止回发? [英] How can I prevent postback while still allowing javascript to run?

查看:57
本文介绍了如何在仍然允许javascript运行的同时防止回发?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

此Asp.Net页面的一部分包含以下内容:

One portion of this Asp.Net page contains this:

<asp:Panel runat="server" DefaultButton="get">
    Enter Employee Name or Click Search to Return All:
    <asp:TextBox runat="server" ID="participant" ></asp:TextBox>
    <asp:Button runat="server" ID="get" UseSubmitBehavior="false" Text="Search" />
</asp:Panel>

这是由谁提供动力的?

$(document).ready(function () {
            $("#get").click(function (e) {
                e.preventDefault();
                document.getElementById('<%= userTable.ClientID %>').style.display = "block";
                getUserNames();
            });
            $("#content_contentPlaceHolder_participant").keypress(function (event) {
                if (event.keyCode == 13) {
                    $("#get").click();
                }
            });
        });

除Chrome之外,此功能均可在其他任何地方使用.使用Enter键在Chrome中提交此字段会导致整个页面重新加载.

This works everywhere but Chrome. Using the enter key to submit this field in Chrome causes a full page reload.

我尝试在后面的代码中添加此代码,但它阻止了javascript触发:

I tried adding this in the code behind, but it prevents the javascript from firing:

participant.Attributes.Add("onkeydown", "return (event.keyCode!=13);");

如何解决此问题,以便Enter键不会导致回发,但仍会触发JS?

推荐答案

我通过添加其他 preventDefault()解决了该问题.

I resolved the issue by adding an additional preventDefault().

$(document).ready(function () {
        $("#get").click(function (e) {
            e.preventDefault();
            document.getElementById('<%= userTable.ClientID %>').style.display = "block";
            getUserNames();
        });
        $("#content_contentPlaceHolder_participant").keypress(function (event) {
            if (event.keyCode == 13) {
                event.preventDefault(); // <-- added this line
                $("#get").click();
            }
        });
});

这篇关于如何在仍然允许javascript运行的同时防止回发?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆