jquery扩展函数参数为什么会一直累加?

重复点击input#e和input#c,Singleoption的参数为什么会一直累加,不懂原理,求解

//html
    <input type="text" name="e" id="e" value="" /> 
    <input type="text" name="c" id="c" value="" /> 
    <input type="button" name="v" id="v" value="sub" />
//js
 $('#e').live('click', function(e) {
        $(this).Singleoption({
            column: 1,
            Bound: "#e"
        });
        e.stopPropagation();
    });
    $('#c').live('click', function(e) {
        $(this).Singleoption({
            column: 2,
            Bound: "#c"
        });
        e.stopPropagation();
    });
    $.fn.Singleoption = function(options) {
        var defaults = {
            column: 1,
            Bound: ""
        };
        var options = $.extend({}, defaults, options);
        var a = function() {
            console.log("this a()");
        }
        var b = function() {
            console.log("this b()")
        }
        switch(options.column) {
            case 1:
                a();
                break;
            case 2:
                b();
                break;
        }
        $("body").on("click", "#v", function(e) {
            console.log(options.Bound);
        })
    }
阅读 2.4k
1 个回答

因为你每次点击都会给#v绑定一次事件。多次点击造成了多次绑定

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题