<p><p>不過一般建議使用事件監聽器<p>事件監聽器的優點<p>事件監聽器的主要優點在於分離表示和邏輯。內嵌事件處理程序直接將程式碼嵌入 HTML 中,這可能會使程式碼庫不必要地混亂且難以維護。 <p>內嵌事件處理程序的評估會出現一個更重要的問題。這些事件處理程序存取其祖先元素和元素本身的屬性,即使根據作用域規則不應進行此類存取。 <p>例如,請考慮以下HTML:
<form> <input name="foo" /> <button type="button" onclick="console.log(foo); console.log(window.foo);"> Click me </button> <div onclick="console.log(foo);">Click me as well!</div> </form><p>當您按一下按鈕或
document.getElementById('element').onclick = doSomething;<p>您可以明確定義事件處理函數及其範圍,從而防止這些評估異常和確保更可預測的程式碼行為。
以上是內嵌 onclick 屬性或事件偵聽器:哪個比較適合處理事件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!