无法使用 $(“#tag”).click() 停止浏览器导航

发布于 2024-12-08 07:31:25 字数 748 浏览 1 评论 0原文

我正在尝试创建一个名为 SignIn 的按钮,该按钮适用于没有 JavaScript 的浏览器,但在启用 JavaScript 时不会导航。

<script type="text/javascript">
    $(function () {
        $("#signIn").click(function () {

            //
            // Stop event bubbling
            //
            return false;
        });
    });

    // Gets the div tag and its content for an identity provider
    function GetIdentityProviderTag(idp, index)
    {
        return '<div class="identity-provider" id="button' + index + '"><button>' + idp.Name + ' </button></div>';
    }
</script>

<div>
    <a href="/NoJavascriptSignIn" id="signIn">Sign In</a>
</div>

我需要做什么才能允许启用 javascript 和禁用 javascript 的浏览器都能工作?

I am trying to create a button called SignIn that accommodates browsers without javascript, but doesn't navigate when Javascript is enabled.

<script type="text/javascript">
    $(function () {
        $("#signIn").click(function () {

            //
            // Stop event bubbling
            //
            return false;
        });
    });

    // Gets the div tag and its content for an identity provider
    function GetIdentityProviderTag(idp, index)
    {
        return '<div class="identity-provider" id="button' + index + '"><button>' + idp.Name + ' </button></div>';
    }
</script>

<div>
    <a href="/NoJavascriptSignIn" id="signIn">Sign In</a>
</div>

What do I need to do to permit both javascript enabled, and javascript disabled browsers to work?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

ι不睡觉的鱼゛ 2024-12-15 07:31:25

下一个代码片段阻止浏览器跟踪链接(主要是return false),您应该将其删除:

$(function () {
    $("#signIn").click(function () {

        //
        // Stop event bubbling
        //
        return false;
    });
});

如果您只想自动按下按钮,请使用:

$(function () {
    $("#signIn").click();
});

The next code snippet prevents the browser from following the link (mainly return false), you should remove it:

$(function () {
    $("#signIn").click(function () {

        //
        // Stop event bubbling
        //
        return false;
    });
});

If you just want to press the button automatically, use:

$(function () {
    $("#signIn").click();
});
闻呓 2024-12-15 07:31:25

要停止链接单击的默认操作,您需要添加:

e.preventDefault();

到您的脚本 因此它看起来像这样

   $("#signIn").click(function (e) {
        e.preventDefault();
        //
        // Code inserted here
        //
    });

PreventDefault() 会取消该事件(如果它是可取消的),而不停止该事件的进一步传播。

To stop the default action of a link click you need to add:

e.preventDefault();

To your script So it will look something like

   $("#signIn").click(function (e) {
        e.preventDefault();
        //
        // Code inserted here
        //
    });

The preventDefault() cancels the event if it is cancelable, without stopping further propagation of the event.

七分※倦醒 2024-12-15 07:31:25

你可以尝试

<a href="/NoJavascriptSignIn" id="signIn" onclick="return signin()">Sign In</a>

<script type="text/javascript">
function signin() {
    //Do sign in stuff
    return false;
}
</script>

You could try

<a href="/NoJavascriptSignIn" id="signIn" onclick="return signin()">Sign In</a>

<script type="text/javascript">
function signin() {
    //Do sign in stuff
    return false;
}
</script>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文