2

这是一个简化版本。

如果我做这样的事情:

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,但不会。不知道为什么。

理想情况下,我还希望能够从内部查看 (console.log) 我的 object[0] someFunction

谢谢您的帮助。

4

1 回答 1

1

你没有调用你的函数:

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

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

于 2013-02-11T23:30:27.110 回答