javascript - 函数不断重复运行 Jquery

标签 javascript jquery function document-ready

我有一个愚蠢的简单 Jquery .js 文件,我正在忙着创建它,但我在第一步就卡住了。

我目前的设置如下所示,但每次我单击页面上的唯一按钮(登录页面的提交按钮)时,它会重新加载整个页面并再次运行第一个函数。

如何让函数只运行一次

$(document).ready(function() {
    //
    //  FUNCTIONS 
    //

    function AllFade() {
        //Hide everything
        $('div').hide()

        //Fade Everything in
        $('div').fadeIn(1000);

        //Hide All Alerts
        $('.alert').hide();
    }

    function LoginCheck() {
        //Check username and pass
    }   

    //   EVENTS     

    //START SEQUENCE
    AllFade();

    //Login check on submit
    $('.btn').click(function() {
        LoginCheck();
    })
});

!! 编辑 !!

按钮的编码是这样的:

<button class="btn btn-large btn-primary">Sign in</button>

这还会导致重新加载吗?

最佳答案

您需要使用 .preventDefault() 来阻止表单的提交(事件),这样它就不会执行默认行为:提交表单并重新加载页面。

$('.btn.btn-large.btn-primary').click(function(event) { 
   //if only button on page you can have just $('button')
    event.preventDefault()
    LoginCheck();
})

如果你不想使用button作为提交按钮,你也可以添加type="button",因为按钮元素有一个默认的提交类型:

<button type="button" class="btn btn-large btn-primary">Sign in</button>


您可以在这里阅读更多内容:

jQuery 文档:.preventDefaul()

关于javascript - 函数不断重复运行 Jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18622619/

相关文章:

javascript - 如何获取输入 angularjs 的最小值和最大值

javascript - Async/Await 在被调用函数完成之前返回未定义

javascript - Datatables数据搜索和突出显示,jmHighligh限制为一列(解决方案在最后)

javascript - 重复相同的 JavaScript 函数

javascript - 如何在 ajax 成功重定向上设置 flash 消息

javascript - Jquery将src从一个img添加到另一个img

javascript - 将 div 隐藏在父窗口之外的最佳方式

jquery - 从 Bootstrap 表中删除突出显示

ios - 如何在 Xcode 中查看 View Controller 的代码 View ?

在 C 上编译,函数错误?