在这个有趣的难题中,我们深入研究 JSFiddle 代码的奥秘在其创造者的范围内完美运作,但移植到自己的范围内时就会动摇网页。让我们揭开这种奇怪行为背后的秘密。
提供的示例代码展示了一个用户界面输入范围元素以及支持 CSS 和 JavaScript 代码。当 CSS 按预期呈现时,JavaScript 仍处于休眠状态,无法实现所需的功能。
理解这一点的关键谜团在于 HTML 结构中代码的放置。在 JSFiddle 中,JavaScript 在“onload”处理程序中执行,确保它在整个页面加载后运行。但是,在您自己的网页中,代码放置在
中,该代码在解析输入元素之前执行。为了纠正这种不规则性,我们必须将 JavaScript 的执行安排在相关元素渲染之后。一种方法是将代码包装在 onload 处理程序中,如 JSFiddle 中所示:
<br>onload = function() {<pre class="brush:php;toolbar:false">// your code here
});
或者,jQuery 以以下形式提供了更简洁的选项文档就绪处理程序的:
<br>$(document).ready(function() {<pre class="brush:php;toolbar:false">// your code here
});
或者更方便简写:
<br>$(function() {<pre class="brush:php;toolbar:false">// your code here
});
最后,同样有效的解决方案是将脚本重新定位到 HTML 文档的末尾,确保它仅在其操作的元素被删除后才执行。解析。这确保了 JavaScript 能够访问必要的 DOM 对象,从而允许它执行预期的转换。
本质上,JSFiddle 和您自己的网页之间的差异是由 JavaScript 执行的时间引起的。通过调整代码放置或利用提供的替代方案,您可以编排事件序列以实现所需的功能。
以上是当我将 JSFiddle JavaScript 移动到我自己的网页时,为什么它会中断?的详细内容。更多信息请关注PHP中文网其他相关文章!