在這個有趣的難題中,我們深入研究JSFiddle 代碼的奧秘在其創造者的範圍內完美運作,但移植到自己的範圍內時就會動搖網頁。讓我們揭開這種奇怪行為背後的秘密。
提供的範例程式碼展示了一個使用者介面輸入範圍元素以及支援 CSS 和 JavaScript 程式碼。當 CSS 依預期呈現時,JavaScript 仍處於休眠狀態,無法實現所需的功能。
理解這一點的關鍵謎團在於 HTML 結構中程式碼的放置。在 JSFiddle 中,JavaScript 在「onload」處理程序中執行,確保它在整個頁面載入後運行。但是,在您自己的網頁中,程式碼放置在
中,該程式碼在解析輸入元素之前執行。為了修正這種不規則性,我們必須將 JavaScript 的執行安排在相關元素渲染之後。一種方法是將程式碼包裝在onload 處理程序中,如JSFiddle 所示:
<br>onload = function() {<p>});<br></p>
或者,jQuery以以下形式提供了更簡潔的選項文件就緒處理程序的:
<br>$(document).ready(function() {<p>}); <br></p>
或更方便簡寫:
<br>$(function() {<p>});<br></p>
最後,同樣有效的解決方案是將腳本重新定位到HTML文件的末尾,確保它僅在其操作的元素被刪除後才執行。解析。這確保了 JavaScript 能夠存取必要的 DOM 對象,從而允許它執行預期的轉換。
本質上,JSFiddle 和您自己的網頁之間的差異是由 JavaScript 執行的時間引起的。透過調整程式碼放置或利用提供的替代方案,您可以編排事件序列以實現所需的功能。
以上是當我將 JSFiddle JavaScript 移到我自己的網頁時,為什麼它會中斷?的詳細內容。更多資訊請關注PHP中文網其他相關文章!