zoukankan      html  css  js  c++  java
  • jQuery之方法绑定(事件注册)代码小结

    1.最直接的模式,直接将一个function对象传入方法函数,如下面的click(),好处坏处一看便知

    $("#btnComfirmChooseCompany").click(function () {
        var companyName = "";
        var companyID = "";
        var hasChecked = false;
        var allCheckbox = $("input[name='companyID']");
        for (var i = 0; i < allCheckbox.length; i++) {
            if (allCheckbox[i].checked == true) {
                hasChecked = true;
                companyID = $(allCheckbox[i]).attr("value");
                companyName = $("#"+companyID).parent().next().text();
            }
        }
        //
    });

    2.等价写法之,将function独立定义给一个变量

    function ComfirmChooseCompany(e) {  //e是可选参数
        //同上,略
    }
    //
    var ComfirmChooseCompany = function(){
    }

    然后将变量传入JS事件函数,效果感觉一样,但至于有什么差异有待理解

    $("#btnComfirmChooseCompany").click(
        ComfirmChooseCompany; //可以运行,思考...Company后加了小括号,是什么效果? 答:ComfirmChooseCompany直接运行了
    );
    
    $("#btnComfirmChooseCompany").click(function(){
            ComfirmChooseCompany(); //等价写法,思考这行当小括号是否可以省略
        }
    );

    3.bind方法

    $("#allCheck").bind("click", function () {
        $("[name = $chkItem]:checkbox").attr("checked", $(this).attr("checked"));
    });
    $("a.scroll_position").bind("click",function () {
            applyPosition();//注意要有小括号
    });
    $("a.scroll_position").bind("click",function () {
            applyPosition(this);//为了获取a节点里面埋的值,this是Dom对象
    });

    4.delegate方法

    $("body").delegate("#tb_2 tr", "click", function () {
        $(this).addClass('tr_color').siblings("tr").removeClass("tr_color");
    });


     

  • 相关阅读:
    Python之旅.第八章.网络编程
    Python之旅.第八章网络编程
    Python之旅.第八章.网络编程
    Python之旅.第七章.异常处理
    Python之旅.第六章.面向对象高级
    第五章.面向对象.总结
    Python之旅.第五章.面向对象.
    Python之旅.第五章.面向对象
    Python之旅.第五章.面向对象
    flexible.js
  • 原文地址:https://www.cnblogs.com/zhuji/p/8416482.html
Copyright © 2011-2022 走看看