避免Mootools中的匿名功能?

时间:2011-02-01 03:09:55

标签: javascript events mootools anonymous-function

这是我的问题:我正在寻找一种在Mootools中使用'not anonymous'功能的方法。 无法找到解决方法,我找不到有关它的文档。

示例: var myInput = new Element('input', { type: 'text', value: 'hello world', events: {blur: function(){ .... } }; });

$$('td[title]').addEvents('dblclick':function(){...});

和简单的功能 function sayHello(){alert('hello')}

如果我想onBlur / ondblClick事件调用现有函数(例如sayHello),我该怎么办?我知道我可以在匿名内部调用我现有的函数,但有没有更好/合适的方法来执行该调用? 我几天坚持这个问题,也许这很简单,但我根本想不出来。

谢谢。

编辑: 我怎么能错过那个?谢谢你们的帮助,工作得很好!

3 个答案:

答案 0 :(得分:3)

$$('td[title]').addEvents({'dblclick':sayHello});

因为函数是一个变量,你可以像使用变量一样使用它,在本例中是一个散列的值

我还应该指出,这两个函数都具有相同的名称:

function sayHello(){}

and

var sayHello = function(){}

他们都制作了一个名为'sayHello'的功能(你现在不关心的微妙差异)

答案 1 :(得分:0)

函数是Javascript中的一等公民,因此您可以像这样引用它们:

$$('td[title]').addEvents('dblclick':sayHello);

答案 2 :(得分:0)

只需直接传递对函数的引用,就像它是任何其他变量一样:

var myInput = new Element('input', {
    type: 'text',
    value: 'hello world',
    events: {blur: sayHello}
});