我有一個變量ElementAction
,它是一個字符串javascript:deleteRow();
。如何將ElementAction
的文字內容分配給另一個HTML元素的onclick
處理程序。 HTMLElement.onclick = ElementAction
不起作用。將字符串轉換爲javascript中的onclick處理程序
感謝您的任何幫助。
我有一個變量ElementAction
,它是一個字符串javascript:deleteRow();
。如何將ElementAction
的文字內容分配給另一個HTML元素的onclick
處理程序。 HTMLElement.onclick = ElementAction
不起作用。將字符串轉換爲javascript中的onclick處理程序
感謝您的任何幫助。
先去掉那個「javascript:」前綴;沒用的。您可以從字符串創建函數實例與:
var handler = new Function("event", ElementAction.replace(/^javascript:/, ''));
然後你可以通過設置「點擊」屬性直接或通過使用API的一個作爲JCOC611的答案附加處理程序。
順便說一下,我剛剛意識到「javascript:」前綴的確行得通,因爲它最終在函數體的第一條語句中充當**標籤** :-) – Pointy 2011-02-15 00:36:40
您可以:
element.onclick = deleteRow;
甚至更多兼容:
if(element.attachEvent){
element.attachEvent("onclick", deleteRow);
}else{
element.addEventListener("click", deleteRow, false);
}
運行字符串不建議。
你可以使用`eval`,然而**我絕對不建議**運行一個字符串。 – JCOC611 2011-02-15 00:06:27