JavaScript 代码未在 JSFiddle.net 上运行
您遇到了 JavaScript 代码在实时网站上无缝运行但失败的问题在 JSFiddle.net 上执行。这可能是由于范围问题造成的。
BetterSelect 类及其方法是在 window.onload 函数中定义的。这意味着它们只能在该函数的范围内访问,不能像在 HTML 标记中那样进行全局引用。
要解决此问题,您有多种选择:
选项 A: 将函数转换为全局变量
window.BetterSelect = function(oSelList) {...}; window.fillList = function() {...}; window.findIt = function() {...};
选项 B: 实现不显眼的 JavaScript
通过将事件处理程序附加到 DOM,将 HTML 与 JavaScript 分离从 JS 代码动态获取元素。这将避免直接引用 HTML 中的函数。
选项 C:禁用 JSFiddle 的换行加载功能
将 JSFiddle 中的“换行”设置更改为“无包裹(头部)”或“无包裹(主体)”。
建议:
选项 B 是推荐的方法,因为它通过隔离来遵循最佳实践HTML 和 JavaScript。它还增强了代码的可维护性,并允许更轻松地实现进一步的修改。
以上是为什么我的 JavaScript 代码不能在 JSFiddle.net 上运行?的详细内容。更多信息请关注PHP中文网其他相关文章!