【问题标题】:Jquery no conflictjquery没有冲突
【发布时间】:2012-01-01 13:03:09
【问题描述】:

在大多数情况下 .noConflict() 对我来说工作正常,例如:

$jq('#no-thanks').click( function(event) {
    $jq("#olsu").fadeOut();             
});

但是这个的语法是什么:

$.cookie("example", "foo", { expires: 7 });

我试过了:

$jq.cookie("example", "foo", { expires: 7 })

$jq().cookie("example", "foo", { expires: 7 })

有什么想法吗?

【问题讨论】:

  • 请同时发布您的 HTML

标签: jquery


【解决方案1】:

怎么样

jQuery.cookie("example", "foo", { expires: 7 })

您还可以通过将代码包装在匿名函数中并将 jQuery 传递给它来简化您的生活:

(function($){
  $('#no-thanks').click( function(event) {
    $("#olsu").fadeOut();             
    $.cookie("example", "foo", { expires: 7 });

  });
})(jQuery)

【讨论】:

    【解决方案2】:

    你试过直接调用jQuery吗?

    jQuery.cookie("example", "foo", { expires: 7 })
    

    【讨论】:

    • 但是 cookie 在 jquery 核心中是未定义的,这才是真正的问题。
    【解决方案3】:

    我不确定你从哪里得到 $jq,但 jQuery 对象是 jQuery,所以:

    jQuery.cookie("example", "foo", {expires: 7});
    

    【讨论】:

    • 您可以将无冲突的 jQuery 变量存储到您希望的任何内容中:$jq = jQuery.noConflict();
    【解决方案4】:

    这应该可行:

    (function($){
      // your all jQuery code inside here
    
      $.cookie("example", "foo", { expires: 7 });
    
    })(jQuery);
    

    现在你可以使用$而不用担心与其他库冲突,只要你把你的jQuery代码放在上面的自调用匿名函数中。

    More Explanation Here

    【讨论】:

    • 感谢您的帮助 - 非常感谢。
    【解决方案5】:

    已将jquery.cookie.js 脚本添加到您的页面,对吗?

    jQuery.cookie 不是本机 jQuery 函数,因此您需要确保它正在被添加,并且如果它发生在 noConflict 被调用之后,它被正确添加到 jQuery。

    对于 jQuery 的别名,您可以使用自执行匿名函数将 jQuery 安全地别名为 $。此外,document.ready 快捷方式也可用于将jQuery 别名为$

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-26
      • 2013-05-28
      • 1970-01-01
      • 1970-01-01
      • 2013-07-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多