调用名为innerHTML的javaScript函数
根据dom元素的innerHTML,我有一个需要调用的函数数组 js应该是这样的:调用名为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
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