我有一个变量ElementAction
,它是一个字符串javascript:deleteRow();
。如何将ElementAction
的文字内容分配给另一个HTML元素的onclick
处理程序。 HTMLElement.onclick = ElementAction
不起作用。
感谢您的帮助。
答案 0 :(得分:3)
首先摆脱“javascript:”前缀;这毫无用处。您可以使用以下命令从字符串创建函数实例:
var handler = new Function("event", ElementAction.replace(/^javascript:/, ''));
然后,您可以通过直接设置“onclick”属性或使用其中一个API(如JCOC611的答案)来附加处理程序。
答案 1 :(得分:1)
你可以:
element.onclick = deleteRow;
甚至更兼容:
if(element.attachEvent){
element.attachEvent("onclick", deleteRow);
}else{
element.addEventListener("click", deleteRow, false);
}
运行字符串不推荐。