在javascript中将字符串转换为onclick处理程序

时间:2011-02-15 00:04:10

标签: javascript html

我有一个变量ElementAction,它是一个字符串javascript:deleteRow();。如何将ElementAction的文字内容分配给另一个HTML元素的onclick处理程序。 HTMLElement.onclick = ElementAction不起作用。

感谢您的帮助。

2 个答案:

答案 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);
}

运行字符串不推荐