Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
调用名为innerHTML的javaScript函数_Javascript_Function_Innerhtml - Fatal编程技术网

调用名为innerHTML的javaScript函数

调用名为innerHTML的javaScript函数,javascript,function,innerhtml,Javascript,Function,Innerhtml,根据dom元素的innerHTML,我有一个需要调用的函数数组 js应该是这样的: var myFunctions = { 'example1':function(){console.log("EXAMPLE 1")}, 'example2':function(){console.log("EXAMPLE 2")} } $('#trigger').click(triggerFunction); 函数名为的HTML元素: <div id="trigger">exam

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

js应该是这样的:

var myFunctions = {
    'example1':function(){console.log("EXAMPLE 1")},
    'example2':function(){console.log("EXAMPLE 2")}
}
$('#trigger').click(triggerFunction);
函数名为的HTML元素:

<div id="trigger">example1</div>
其中,triggerFunction在用户单击元素时尝试触发相应的函数:

var triggerFunction = function(event){
    console.log(event.target.innerHTML);
    myFunctions.event.target.innerHTML();
}
当然,这种方法行不通,但我不知道如何解决这个问题

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

提前谢谢。

试试这个

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())]() ;
}

myFunctions[event.target.innerHTML]@dandavis将其作为答案发布我被否决的原因是什么?我想知道,所以下次发布问题时我不会犯同样的错误=/因为侦听器是在触发器上的,需要使用innerHTML的元素,所以您也可以使用它来代替event.target。@PaulS:说得好。为了以防万一,我也喜欢修剪,所以我把这两个改进都纳入了答案中。非常感谢,这正是我需要的,你节省了时间:D