我在codepen中下载了仪表板代码:https://codepen.io/mr_alien/pen/pNRQxK
,但我在drupal中需要这个,所以我做了相应的更改,但我有这个问题(网站工作但显示此问题):
tb-megamenu-frontend.js?ovwzqg:28 Uncaught TypeError: $(...).once is not a function
at Object.attach (tb-megamenu-frontend.js?ovwzqg:28)
at Object.<anonymous> (drupal.js?ovwzqg:76)
at Function.each (jquery-1.10.2.min.js:4)
at Object.Drupal.attachBehaviors (drupal.js?ovwzqg:74)
at HTMLDocument.<anonymous> (drupal.js?ovwzqg:557)
at c (jquery-1.10.2.min.js:4)
at Object.fireWith [as resolveWith] (jquery-1.10.2.min.js:4)
at Function.ready (jquery-1.10.2.min.js:4)
at HTMLDocument.q (jquery-1.10.2.min.js:4)
最佳答案
控制台错误解释说,在第 28 行,您正在调用一个未定义的函数 - 'once'。
我怀疑你有一些自己的 JavaScript,而不是来自 CodePen,因为我可以看到,该 JS 没有使用“一次”。这是尽可能包含正在运行的源代码的一个很好的理由。
“Once”不是默认的 jQuery,它是一个“插件”/“扩展”:
所以我的建议是:
- 确定是否需要“一次”
- 如果需要“一次”,则需要包含 JS 文件
- Drupal 有多种包含 JS 的方法
- 模块中的.info 文件
- 包含在每个页面上。
- 附加到特定表单 ($form['#attached']['js'])
- 包含在特定表格中。
- JS/CDN 的外部链接
- 可以通过多种方式完成,模板文件内联html、drupal_add_js 德鲁帕尔
- 模块中的.info 文件
- Drupal 有多种包含 JS 的方法
让我知道你进展如何。可以提供更多信息; Drupal JS(如果需要)。
关于javascript - Drupal 仪表板中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46099988/