自定义 jQuery 扩展无法与 Drupal 一起使用

发布于 2024-11-19 07:26:50 字数 310 浏览 3 评论 0原文

尝试将自定义 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

踏月而来 2024-11-26 07:26:50

如果没有看到您的代码,很难给您一个很好的答案。不久前我遇到了类似的(听起来)问题,并使用这种技术在 Drupal 7 站点上包装内联 JQuery,这解决了我的问题:

(function($) {
    $(document).ready(function(){

        // Insert your code here.

    });
})(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 :

(function($) {
    $(document).ready(function(){

        // Insert your code here.

    });
})(jQuery);

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.

め可乐爱微笑 2024-11-26 07:26:50

Drupal 中的另一种技术是将 jQuery 包装在其中:

jQuery(document).ready(function($) {
  // Insert code here.
});

Another technique in Drupal is to wrap the jQuery inside this:

jQuery(document).ready(function($) {
  // Insert code here.
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文