0

私たちのプロジェクトは jquery 1.3.2 で実行されています。はい、非常に古いバージョンです。とにかく、今はそれをアップグレードするつもりはありません。jquery が選択したプラグイン(ダウンロード リンク - https://github.com/harvesthq/chosen ) を今すぐ使用する必要があります。これには、少なくとも jquery 1.4 が必要です。したがって、次の解決策に従って、両方のバージョンの jquery を同じページにロードしました。

https://stackoverflow.com/a/1566644/351903

しかし、新しいバージョンの jquery で selected を呼び出すことができません。これが私がしたことです-

1.jquery読み込み部分

<script type="text/javascript" src="/js/jquery.js"></script>

<!-- Added for using jQuery chosen plugin -->
<script type="text/javascript" src="/js/jquery-1.4.min.js"></script>
<script type="text/javascript">
    var jQuery_1_4 = $.noConflict(true);
</script> 

注 -古いバージョンの jquery については次のように記述しませんでし$("something").somefunc()た。jQuery_1_3_2("something").somefunc()

<script type="text/javascript">
var jQuery_1_3_2 = $.noConflict(true);
</script>

2.そして、プラグイン呼び出し部分で

<link rel="stylesheet" type="text/css" href="/css/chosen.css"/>
<!--  <script type="text/javascript" src="/js/jquery.chosen/chosen.jquery.min.js"></script> -->
<script type="text/javascript" src="/js/jquery.chosen/chosen.jquery.js"></script>
<script type="text/javascript">
jQuery_1_4(document).ready(function() 
{
    jQuery_1_4("select#user_id").chosen();  //Trying to call chosen on the newer version of jquery
});
</script>

しかし、このエラーが発生していますjQuery_1_4("select#user_id").chosen is not a function

しかし、これは正常に動作しています - alert("see"+jQuery_1_4("select#user_id").attr("id"));

したがって、問題はプラグインの使用中にのみ発生するようであり、プラグインコード内で微調整を行う必要がある可能性があります。いくつか$の s をjQuery_1_4? しかし、それは良く聞こえませんし、何が適切な方法なのかわかりません。

4

2 に答える 2

0

古いバージョンをデフォルトのままにしておきたい場合は、古いバージョンをvar jQuery = $.noConflict(true);ロードした直後に行う必要があります。$("something").somefunc()ただし、それでも通話を確認する必要があります

于 2012-02-06T10:18:57.567 に答える
0

jQuery の 2 番目のバージョンを含める前に noConflict() を呼び出します

于 2012-02-06T10:11:33.940 に答える