我可以在被視爲JavaScript代碼的HTML元素上創建自己的屬性,並且可以在我的代碼需要時執行它們嗎?我可以創建自己的事件屬性嗎?
例如,假設我想創建一個自定義事件onpagerefresh
,並且同時允許編寫HTML的人添加處理此事件的屬性。
<body onpagerefresh="updateContents()">
我能夠解析HTML得到這個新onpagerefresh
屬性的值,但我怎麼告訴JavaScript的這個屬性爲JavaScript代碼,而不是字符串治療什麼?
而第一個說「_使用eval()」_的人會被打耳光。 – IQAndreas
他們爲什麼會被打呢?如果你有一個字符串,並且你想把它當作JavaScript代碼,'eval()'或者它的一個朋友是最好的工具。如果你只是調用函數,你可以使用'window [fnName]()'。 – alex
@alex如果您覺得'eval()'在這種情況下是正確的選擇,那麼請添加一個關於爲什麼在這種情況下是個好主意的推理。 – IQAndreas