jQuery.noConflict() 导致另一个脚本出错

jQuery.noConflict() causing error in another script

本文关键字:另一个 脚本 出错 noConflict jQuery      更新时间:2023-09-26

我正在将此代码用于此插件 http://unwrongest.com/projects/defaultvalue/

// <![CDATA[
    $.noConflict();
    jQuery(document).ready(function(){
        jQuery('.defaultval').defaultValue();
    }); 
// ]]>

$.noConflict();正在此行的另一个脚本中给我$ is not a function

$( "#city" ).autocomplete({ 

"autocomplete"是用于jquery UI自动完成插件 http://jqueryui.com/demos/autocomplete/#remote-jsonp

如何解决此问题?删除$.noConflict();似乎可以解决它,但我想离开,因为我认为它是有原因的。

noConflict函数删除了 jQuery 的$别名,以允许其他库改用$

您不能将noConflict与使用 $ 的代码一起使用,除非您通过编写(function($) { ... })(jQuery);将该代码包装在具有自己的 $ 别名的函数中

您需要将自动

完成放在它自己的私有闭包中:

var jQueryVariableForMyUseOnly = jQuery.noConflict();
(function($){
    $(...).autocomplete(...);
})(jQueryVariableForMyUseOnly);

只需更改以下内容:

$( "#city" ).autocomplete({

对此:

jQuery( "#city" ).autocomplete({

noConflict 删除了 $ 上的别名,但 jQuery 仍然存在。

编辑:或者,您可以将别名分配给其他内容,例如:

$j = $.noConflict();
$j("#city").autocomplete({
将其

更改为:

jQuery.noConflict();

编辑:重新阅读您的问题后。 这解决不了任何问题。 这里没什么可看的。

相关文章: