網頁由側邊欄導航和用於顯示內容的 iframe 組成。導航包含旨在更改 iframe 內容的連結。但是,旨在更改 iframe 原始程式碼的 JavaScript 函數無法正常運作。
主要問題源自於在 onclick 事件處理程序中省略執行 getContent 函數所需的括號。
避免內聯事件處理程序
強烈建議不要使用內聯事件處理程序(例如onclick、onmouseover),因為它會導致意大利麵條式代碼、代碼重複、可擴展性問題以及偏離最佳實踐。
分離 HTML 和 JavaScript
保留 HTML 和 JavaScript程式碼分開,以提高可讀性並更易於維護。
禁用按鈕的鏈接導航
如果使用類似按鈕的元素的鏈接,請將其 href 屬性設置為 # “”以防止其導航。
以下是修訂後的程式碼,其中包含應用程式修正:
<br>function getContent() {<br> console. log("舊來源是:" iFrame.src);<br> iFrame.src="LoremIpsum.html ";<br> console.log("新來源是:" iFrame.src);<br>}<p>// 取得按鈕和iframe 的引用<br>var btn = document.getElementById("btnChangeSrcbtnChangeSrcbtnChangeSrcbtnChangeSrcbtnChangeSrc ");<br>var iFrame = document.getElementById ("contentFrame");</p><p>// 設定點擊事件處理程序按鈕<br>btn.addEventListener("click", getContent);<br></p>
以上是為什麼我的 JavaScript 函數沒有在連結點擊時執行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!