如何通过$(..)。name()调用我的函数?

时间:2014-02-11 06:03:13

标签: javascript jquery

我创建了一个名为draw()的js函数,现在我可以在使用.获取元素后使用$(...)运算符调用此方法。我的意思是我喜欢这个工作$(#myId).draw()。现在它给出了像未定义函数一样的错误。我怎样才能使它发挥作用?

5 个答案:

答案 0 :(得分:3)

很难从你的问题中看出来,但听起来你想创建一个 jQuery插件。您可以通过扩展$.fn

来实现这一目标
$.fn.draw = function(){
    /* ... */
}

然后你可以对选择器调用它:

$('#myId').draw();

此处有更多文档:http://learn.jquery.com/plugins/basic-plugin-creation/

答案 1 :(得分:1)

您必须将其创建为jquery插件。如此处所述。

Best Way to Extend a jQuery Plugin

jQuery的文档: http://api.jquery.com/jquery.fn.extend/

JsFiddle示例:http://jsfiddle.net/Wdx75/

var obj1 = { "color" : "yellow" };
var obj2 = { "background" : "blue" };

var o = $.extend({}, obj1, obj2);


$.fn.draw = function(){
    $("div").css(o);
}

$('abc').draw();

答案 2 :(得分:1)

您将look at adding jquery plugin

$.fn.draw= function(){

}

答案 3 :(得分:1)

最好的方法是使用jquery.fn.extend添加方法(因为我们可以一次添加几个插件函数)

示例代码如

jQuery.fn.extend({
  draw: function() {
    return this.each(function() {
      // add code here to draw
    });
  }
});

添加此方法后,您可以使用下面的代码在任何jQuery元素上调用draw方法

$("#myId").draw()

官方参考: jquery.fn.extend

答案 4 :(得分:1)

您想使用jQuery.fn.extend,此处记录http://api.jquery.com/jquery.fn.extend/

$.fn.extend({
    draw: function() {

    // do something to the jQuery object
    return this;

    }
});

现在,您可以在使用.draw创建的jQuery对象上调用$(...)