代码之家  ›  专栏  ›  技术社区  ›  fire

jQuery从函数调用中检索参数

  •  0
  • fire  · 技术社区  · 14 年前
        $(document).ready(function(){
            $('#cumulative-returns').graph({
                width: 400,
                height: 180,
                graphtype: 'bar'
            });
        });
    

    #cumulative-returns 我想得到 graphtype

    $('#cumulative-returns').click(function() {
      alert(this.graphtype)
    });
    

    这是可能的还是你会怎么做?也许在graph函数中有一些将参数存储在全局数组中的代码(混乱但可行)?

    (function($) {
        $.fn.graph = function(options) {
            return this.each(function() {
                var defaults = {
                    name: $(this).attr('id')
                };
                var opts = $.extend(defaults, options);
                var img = this;
                $.post('../generate_graph.php', opts);
            });
        };
    })(jQuery);
    
    2 回复  |  直到 14 年前
        1
  •  0
  •   Matt user129975    14 年前
    (function($) {
        $.fn.graph = function(options) {
            return this.each(function() {
                var defaults = {
                    name: $(this).attr('id')
                };
                var opts = $.extend(defaults, options);
                var img = this;
    
                $(this).data('graphtype', opts.graphtype); // Addition!        
    
                $.post('../generate_graph.php', opts);
            });
        };
    })(jQuery);
    

    那就做:

    $('#cumulative-returns').click(function() {
      alert($(this).data('graphtype'));
    });
    
        2
  •  0
  •   marcgg    14 年前

    您确实得到了存储在中的被单击的dom元素 this graphtype 方法链接到它,这一切取决于如何 .graph() 行为。