两个版本之间的Jquery冲突

时间:2014-10-23 09:16:09

标签: javascript jquery

好的我有旧版jquery的网站,然后我导入模块,我有更新版本的jquery,在我的模块页面中我有这行jquery

<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> 

不知怎的,我有冲突。我不能从标头删除旧版本因为某些功能不起作用,在我的模块页面的另一侧,如果我删除较新的版本微调器功能不工作。我不能同时使用两个jquery版本。有什么方法可以解决这个冲突。

我遇到错误的代码是:在这个脚本中我需要旧版本而不是在加载新版本之前jquery-1.10.2.js

var notice = new Array();

$(document).ready( function() {
    /*setTimeout(function(){ $(".notice").fadeTo('slow',1), 500; });
    setTimeout(function(){ $(".notice").fadeTo('slow',0.4); }, 1500);*/
    /*setTimeout(function(){
        $(".notice").animate( { backgroundColor: '#B8B8B8' }, 1000)
    });*/

    setTimeout(function(){
          $(".notice").animate( { backgroundColor: '#e0e0e0' }, 1000)

    }); 

    $.safetynet({

        message : isDirtyWarning


        });




});

/**
 * Funkcija ce Sve vrednosti Combo Boksa upisati u hidden polje razdvojeno
 * zarezom
 * 
 * @param hidden_field_id
 * @return
 */
function ComboFieldsToValue(combo_selector, hidden_field_id) {
    var vrednosti = "";

    $(combo_selector + ' option').each( function() {
        vrednosti += $(this).val() + ',';
    });
    $(hidden_field_id).attr( {
        value :vrednosti.substring(0, vrednosti.length - 1)
    });
    // alert($(hidden_field_id).attr("value"));
}

/**
 * Proverava da li Combo ima item sa zadatom vrednoscu
 * Vraca true ako ima, false ako nema
 * @param combo_selector
 * @param key
 * @return
 */
function IsItemInCombo(combo_selector, key) {
    var is_in_combo = false;
    $(combo_selector + ' option').each( function() {
        if ($(this).val() == key)  {
            is_in_combo = true;
        }
    });
    return is_in_combo;
}

/**
 * Potrda brisanja
 * @param link
 * @return
 */
function PotvrdiBrisanje(link, str) {
    if(str == "") str = "Potvrdi brisanje?";

    if (confirm("" + str)) {
        document.location = link;
    }   
}

function ajaxPotvrdiBrisanje(link, str, autoconfirm, flexi_id) {
    if(str == "") str = "Potvrdi brisanje?";
    if(autoconfirm == "") autoconfirm = false;
    if(flexi_id == "" || !flexi_id) flexi_id = 'flex1';

    if (autoconfirm || confirm("" + str)) {
        $.ajax({
          url: link,
          async : false,
          success: function(data) {
            if (data.substr(0, 4) == "msg:") {
                notice[notice.length] = data.substr(4,data.length);
            }
          }
        });
    }
    return false;
}
function addToNotice(data)
{
    if (data.substr(0, 4) == "msg:") {
        notice[notice.length] = data.substr(4,data.length);
    }   
}
function PrikaziNotice() {
    if (notice.length == 0) return;

    $('p.flexy_notice').html('');
    $('p.flexy_notice').css({ backgroundColor: '#FB2D2B' });
    $('p.flexy_notice').hide('');

    /*
     * Uknjamoi osmnovni notce
     *
     */

    if ($('.notice').length != 0) {
        $('.notice').hide();
    }
    html = "";
    for ( var i in notice ) {
        html += '<p>' + notice[i] + '</p>';
    }

    $('p.flexy_notice').html(html);
    $('p.flexy_notice').show();
    $(".flexy_notice").animate( { backgroundColor: '#e0e0e0' }, 1000);

    notice = new Array();
}

function reloadFlexi() { $("#flex1").flexReload(); }

function ShowAudit(id) {
    $(".audit_" + id).toggle();
}
function setDirtyTiny(){
$.safetynet.raiseChange($('textarea'));
} 

有人可以解释我如何调整这个js文件

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

如果您需要运行两个版本的jquery,可以使用noconflict

示例:

<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<script>
    newJquery = jQuery.noConflict(true);
    newJquery(document).ready( function() {
    ...
    ...

答案 2 :(得分:0)

只需将其添加到发生冲突的html页面中:

<script>
    $.noConflict();
</script>