2013-02-11 2 views
2

Это упрощенная версия.Объект jquery, выполняющий функцию объекта

Если я что-то вроде этого:

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) мой объект [0] изнутри someFunction.

Спасибо за помощь.

+0

Что делает ваш HTML выглядеть? –

+0

@AlienWebguy Это упрощенный пример. –

+0

@ExplosionPills #thing уже находится в dom –

ответ

1

Вы не активизируете функцию:

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

Демо: http://jsfiddle.net/CEdvt/

+0

Uncaught TypeError: свойство 'func' объекта # не является функцией –

+0

Вы попробовали скрипку? Оно работает. – AlienWebguy

+0

Это работает ... Я попробовал это изначально, но я думаю, что у меня была моя функция в цитате вроде: «differentFunction» TY –

Смежные вопросы