-1

我有一组函数,我需要根据 dom 元素的 innerHTML 调用它们。

.js会是这样的:

var myFunctions = {
    'example1':function(){console.log("EXAMPLE 1")},
    'example2':function(){console.log("EXAMPLE 2")}
}

函数名称所在的 HTML 元素:

<div id="trigger">example1</div>

我试图实现的触发器是这样的:

$('#trigger').click(triggerFunction);

当用户点击元素时 triggerFunction 尝试触发相应的函数:

var triggerFunction = function(event){
    console.log(event.target.innerHTML);
    myFunctions.event.target.innerHTML();
}

当然这种方式行不通,但我不知道如何解决这个问题。:)

希望我已经清楚我需要什么。

提前致谢。

4

1 回答 1

3

试试这个

var triggerFunction = function(event){
    console.log(event.target.innerHTML);
    myFunctions[event.target.innerHTML]() ;
}

更稳健的方式:

function triggerFunction(event){
    console.log(event.target.innerHTML);
    myFunctions[$.trim($(this).text())]() ;
}
于 2013-07-10T17:49:57.790 回答