jQuery从函数调用中检索参数

时间:2010-06-16 14:12:56

标签: javascript jquery

    $(document).ready(function(){
        $('#cumulative-returns').graph({
            width: 400,
            height: 180,
            graphtype: 'bar'
        });
    });

我点击了#cumulative-returns时绑定了一个功能,我希望能够获得graphtype值...

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

这是可能的,或者你会怎么做呢?也许在图形函数中有一些代码将参数存储在某个全局数组中(凌乱但可行)?

*编辑:这是图表功能:

(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 个答案:

答案 0 :(得分:0)

您确实获得了this中存储的已点击的dom元素。然后我不知道它是否与graphtype方法相关联,这完全取决于.graph()的行为方式。

答案 1 :(得分:0)

(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'));
});