jQuery类型函数作为变量

时间:2011-04-27 22:00:38

标签: javascript jquery function variables

我可以创建一个这种类型函数的变量:

jQuery.fn.appendValueToTextArea = function(txt){
  return this.each(function(){
    this.value += txt;
  });
};

我尝试在它前面加var但我收到了错误。

3 个答案:

答案 0 :(得分:3)

如果要在注释中编写的元素上调用方法,则必须扩展jQuery.func

也许您只想将名称存储在变量中?

var name = 'appendValueToTextArea'; 
element[name]('text');

唯一的另一种方法是存储对该函数的引用并使用.call().apply()

var func = jQuery.fn.appendValueToTextArea = function(txt) {
    // ...
};

func.call(element, 'text');

或者(因为我不确定你真正想要的是什么)你可以先将函数分配给变量,然后将其分配给jQuery.fn.appendValueToTextArea

var func = function(txt) {
    // ...
};

jQuery.fn.appendValueToTextArea = func;

答案 1 :(得分:2)

如果在定义函数后定义变量会发生什么?

jQuery.fn.appendValueToTextArea = function(txt){
  return this.each(function(){
    this.value += txt;
  });
};

var fn = jQuery.fn.appendValueToTextArea;

答案 2 :(得分:1)

jQuery.fn.appendValueToTextArea = function(txt){
  return this.each(function(){
    this.value += txt;
  });
};

//This would put the function above in a variable. 
//However, I'm not exactly sure what this gains you    
var myfunction = jQuery.fn.appendValueToTextArea;