jquery对象执行对象的已分配函数

时间:2013-02-11 23:24:44

标签: javascript jquery function object

这是一个简化版本。

如果我这样做:

var object = [{name:"bob", type:"silly", hair:"brown", func:someFunction},
              {name:"greg", type:"serious", hair:"blonde", func: differentFunction}]; 

$('#thing').bind("click", object[0], handleTranslator);

function handleTranslator(e){
    $([e.data.func]);
}

function someFunction(){
    console.log("clicking bob should trigger this function");
}

function differentFunction(){
    console.log("clicking greg should trigger this function");
}

当我点击#thing时,它应该触发someFunction,但事实并非如此。不知道为什么。

理想情况下,我还希望能够从someFunction内看到(console.log)我的对象[0]。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

你没有调用你的函数:

function handleTranslator(e){
    e.data.func();
}

演示:http://jsfiddle.net/CEdvt/