2015-05-06 2 views
0

Я хочу иметь возможность запускать функцию, которая передается по имени из атрибута data на стороне HTML. Я пробовал следующее ниже.Функция запуска, переданная из атрибута данных

HTML:

<div class="generic-select" data-help-on-shown="genericFunction" >   
</div> 

Javascript:

function genericFunction() { 
    console.log("generic function called"); 
} 

Другие Javascript (отдельный файл):

//stepEl is correct divider from above 
var genFunction = typeof (stepEl.data("helpOnShown")) === "undefined" 
        ? null 
        : stepEl.data("helpOnShown"); 

//this prints "genericFunction" as expected 
console.log("genFunction = " + genFunction); 

if (genFunction) { 
    genFunction(); //gives error! 
} 

Однако, это дает мне ошибку. Есть ли способ вызвать функцию по имени строки?

+0

использования Evel ("funcitonname()"); –

ответ

0

Если функция "глобальной", она существует как свойство window:

window[functionname]() 
Смежные вопросы