自定义 jQuery 扩展无法与 Drupal 一起使用
尝试将自定义 jQuery 扩展绑定到 Drupal 7 中时,我遇到了脚本中“this”对象的问题。
我的代码被正确包装以支持无冲突,并且在 drupal 之外工作正常,但在 drupal 页面上相同的代码会失败。
我将 console.log(this) 添加到扩展的顶部,发现在 drupal 之外,我得到了一个正确的 jQuery 对象,其中包含匹配的节点。在 drupal 中我只得到匹配的元素。
Drupal 7 有 jQuery 1.4.4,我的代码在 jQuery 1.4.2 和 1.6.2 中运行良好。
对此我能做什么?
Trying to tie a custom jQuery extension into Drupal 7 I'm running into a problem with the "this" object within my script.
My code is wrapped properly to support no conflict and works fine outside of drupal, but identical code on a drupal page fails.
I added console.log(this) to the top of my extension and found that outside drupal, I get a proper jQuery object with the matching node within. Inside drupal I get just the matching element.
Drupal 7 has jQuery 1.4.4 and my code runs fine in jQuery 1.4.2 and 1.6.2.
What can I do about this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果没有看到您的代码,很难给您一个很好的答案。不久前我遇到了类似的(听起来)问题,并使用这种技术在 Drupal 7 站点上包装内联 JQuery,这解决了我的问题:
问题是 Drupal 7 对命名空间严格并且不允许默认值
$
作为函数别名,就像在 Drupal 6 中一样。Without seeing your code, it's hard to give you a great answer. I ran into a similar (sounding) problem a while back and used this technique to wrap inline JQuery on a Drupal 7 site, and this solved my problem :
The issue is that Drupal 7 is strict on the namespace and doesn't allow the default
$
as a function alias like you could do in Drupal 6.Drupal 中的另一种技术是将 jQuery 包装在其中:
Another technique in Drupal is to wrap the jQuery inside this: