【问题标题】:How to disable a jQuery function after it is called?调用后如何禁用jQuery函数?
【发布时间】:2010-09-06 21:45:43
【问题描述】:

我想禁用 jQuery 函数的工作。在我的页面中,我有一个登录表单。登录成功后消失,显示主页面。但是如果我刷新页面,它会再次显示主窗体。这是因为我的所有内容都在 1 个 .html 文件中。我将它们全部设为display: none;,登录后jQuery运行.show()方法。

有什么方法可以在调用后禁用此功能?还是应该将我的所有内容添加到另一个 .html 文件中,然后登录后在页面中显示?

或者我该如何使用 header("Location: main2.html"); jQuery 中的函数?用于在主页中包含另一个页面?

【问题讨论】:

    标签: jquery html function


    【解决方案1】:

    JavaScript 无法在页面重新加载后继续存在。这同样适用于 HTML 和 CSS。如果您想在页面重新加载期间保留一个值,这可以通过使用 cookie 来实现。

    在您的情况下,如果用户登录,您可以存储在 cookie 中。如果您重新加载页面,cookie 数据仍然存在。然后您可以读取 cookie 数据并确定用户是否已经登录。如果是,您可以立即显示主页。

    【讨论】:

      【解决方案2】:

      要直接回答您的问题,您可以使用:

      $.fn.show = function() { return; } // Or similar
      

      禁用 $().show() 再次工作...但是无论如何刷新页面时这将被清除。

      但是,我会避免这种方法!

      另一种方法是编写您的标记,以便登录表单在其 CSS 中的某处以 display: none 开始隐藏。然后,当有人单击登录按钮时,使用此代码显示它:

      $('#loginbutton').bind('click', function() { $('#loginform').show(); }
      

      以这种方式,除非用户请求,否则表单永远不会出现。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-09-07
        • 1970-01-01
        • 1970-01-01
        • 2011-04-20
        • 1970-01-01
        • 2023-04-04
        相关资源
        最近更新 更多