您可以更改事件處理程序屬性。這是DOM的一部分,而不是Javascript。所以如果你這樣做:
document.getElementById("someButton").onclick = someFunction;
這將改變發生什麼,當你點擊按鈕。
您也可以重新定義函數,所以如果函數被其名稱調用,那麼新的定義將從此開始執行。
但是,如果您傳遞函數引用,則重定義對使用該引用的任何內容都沒有影響。
舉個例子,如果你這樣做:
<button type="button" onclick="myFun()">Click Me</button>
如果重新定義myFun
,點擊後會使用新定義。
如果你不是做:
<button type="button" id="myButton">Click Me</button>
<script>
document.getElementById("myButton").addEventListener("click", myFun);
</script>
重新定義功能將不會影響按鈕。 myFun
變量會在您調用addEventListener()
時評估函數對象,並且重新定義該函數對該對象沒有任何作用。
你可以改變JS到:
document.etElementById("myButton").addEventListener("click", function() {
myFun();
});
,然後它會在每次匿名函數被調用時查找函數定義。
您可以打開開發工具,選擇任何元素並更改其屬性。 – Xufox
這是深的伴侶! –
爲什麼你在問之前沒有先嚐試? – trincot