1

我有一个愚蠢的简单 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>

这仍然会导致重新加载吗?

4

2 回答 2

6

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

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

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

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


你可以在这里阅读更多:

jQuery 文档:.preventDefaul()

于 2013-09-04T19:53:56.423 回答
1

在其中添加一个事件并用于.preventDefault()防止页面重新加载。

$('.btn').click(function(e) {
    e.preventDefault();
    LoginCheck();
});
于 2013-09-04T19:55:29.600 回答