jquery - jquery中声明静态变量

标签 jquery variables static

请指导我在以下程序中声明静态变量。 我想通过单击按钮来增加静态变量lists.counter的值。 但它不起作用。

 <%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeBehind="Default.aspx.cs" Inherits="finalspecific2_list._Default" %>


   <asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
    <script src="Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>
    <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
    <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>

<script type="text/javascript">

    $(document).ready(function lists() {

        var list = $('#myList li:gt(0)');


        list.hide();
        lists.counter = 0;
        var username = $("#<%= uname.ClientID %>").val();
        var pwd = $("#<%= pwd.ClientID %>").val();


        $("#<%= Login.ClientID %>").click(function () {


            lists.counter++;


            alert(lists.counter);
            lists.counter++;


        });




        $("#<%= Button1.ClientID %>").click(function () {

            {

                    alert(lists.counter);



                    }




                });
    });



  </script>

</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">




<asp:Button ID="Login" runat="server" Text="Login" />
<asp:Button ID="Button1" runat="server" Text="Login" />





</ul>





</asp:Content>

当单击任何按钮时,lists.counter 应增加,并且应在后续单击时增加。 请指导此事。

最佳答案

您可以在此处使用闭包:

$(document).ready(function() {
    // The actual counter is contained in the counter closure.
    // You can create new independent counters by simply assigning 
    // the function to a new variable
    function makeCounter() {
        var count = 0;
        return function() {
            count++;
            return count;
        };
    };

    // This variable contains a counter instance
    // The counter is shared among all calls regardless of the caller
    var counter = makeCounter();

    // The handler is bound to multiple buttons separated by commas
    $("#button, #another_button, #yet_another_button").click(function () {
       var i = counter();
       console.log("The counter now is at " + i);

       // Probably update your counter element
       // $("#counter").text(i);
    });
});​

您可以在this中找到代码 fiddle 。

如果您有兴趣,可以阅读有关闭包的更多信息 here .

更新: This fiddle使用共享同一个计数器的多个按钮。

关于jquery - jquery中声明静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11077960/

相关文章:

javascript - 基本 jQuery : How to call a user defined function

javascript - 使用 JavaScript jQuery 从 url 获取 GET 变量

function - 将表名和列名定义为 plpgsql 函数中的参数?

c++ - 在初始化函数中初始化静态类成员

javascript - 如何设置 jQuery Select2 的选定值?

javascript - 就像系统 : Looping forms unique id, 使用 jQuery/Javascript 获取这些 id 来单独发布一样

javascript - 如何在滚动条外隐藏提升缩放?

android - Kotlin/Android Studio-如何将变量从替代乐趣传递到应用程序的其余部分?

c - 指针和函数外部分配或静态变量和内部分配?

python - GAE Python : Static Files not loading in localhost,,但当应用程序部署到 appspot 时加载完全正常