ユースケース
jstreeとjquery-ui datepickerの間に競合があります。異なるバージョンのjQueryを使用する
私はjQuery-ui-datepickerを、AJAXリクエストの後にDOMに挿入された入力に使用しようとしています。
私は、jQuery 3.1.1とjQueryUI v1.12.1を使用するjsTree 3.3を使用しています。これはjQuery 1.12.4を使用しています。 問題は
私は$('#datepicker').datepicker()
を呼び出すようにしようと、それは例外TypeError
(...)。日付ピッカーは、私が これまでに試したどのような機能
ではありません
以下の両方を含む他の多くのトピックに従う:
datepickerとjstreeまたはmultiとの間の競合
HTML::
<script src="{% static 'Syc/js/jquery.js' %}"></script>
<script src="{% static 'Syc/js/jquery-old.js' %}"></script> <!-- version1.12.14-->
<script src="{% static 'Syc/js/jquery-ui/jquery-ui.js' %}"></script>
<script src="{% static 'Syc/Jstree/dist/jstree.min.js' %}"></script>
Javascriptを:
$(document).on('focus', "[id^='Date']", function() {
var jQ = jQuery.noConflict(true);
jQ.getScript('path/jquery-old.js', function() {
jQ(function() {
jQ(this).datepicker();
})
});
- 日付ピッカーを入れPUL ()動的に作成された要素にはJQuery/JQueryUI
私のコードはそうのように見えます
上記のコードは、現在、DOMに入力を注入する関数の成功コールバックに配置されています。
これは私のJSの最も進んだバージョンです。私はgetScriptなしで試しました。私はjstreeオブジェクトの作成の前後に配置しようとしました。私は、私が欠けているか、またはdatepicker()を動作させるための正しい方法については考えていません。
事前のお手伝いをさせていただきます。
追加情報
私はDjango Frameworkを使用してWebアプリケーションを開発中です。 $( "#datepicker")。datepicker()はjstreeを使用しないビューでうまくいきます。読んだことによると、おそらくjQueryバージョンに関連した2つのプラグインの間の競合です。
なぜ2つのバージョンのjqueryが必要ですか? – bassxzero
getScript関数は、ライブラリが正しいバージョンにバインドされていることを保証しません。 domにスクリプトを追加して読み込むだけです。 – Jerodev
実際には必要ありませんが、jquery-ui/external/jquery.jsにjQuery 1.12.4ファイルがあります。プラグインが使用するバージョンだと思います。私はまたそれを削除するか、私のjQuery 3.xファイルで置き換えようとしましたが、問題を修正しませんでした。 –