0

combined.jsJquery Sizzle と jQuery コアのマージされたライブラリを使用してレスポンシブ メニューを設定しようとしています。ここに投稿されています。

https://pastee.org/erewc

しかし、evaljQuery(smartWizard) や PrototypeJS など、既に多くのスクリプトが読み込まれているページに含めると、関数の競合が発生し、エラーが発生します。

生成されるエラーは次のとおりです。

TypeError: $(...) is null
$('options_2_2').advaiceContainer = 'options-2-container';$('options_2_2').callb...

combined.js > line 623

eval 関数が関係しているため、解決方法がわかりません。ここではうまくいかないと思いますjQuery noConflictが、提案は大歓迎です。

4

1 に答える 1

0

それが一時的な修正なのか恒久的な解決策なのかはわかりませんが(時間が経てばわかります)、eval以下のように(combined.jsで)関数呼び出しの周りに条件を配置することで競合を解決できました。

if(t.indexOf("$('options_") == -1) {
  e.eval.call(e, t)
}

私のメニュー要素には、クラスまたはid属性に「options_」が含まれていないと確信しています。

したがって、私の競合は今のところ解決されていますが、永続的な解決のためのより適切でクリーンなアプローチがある場合は、自由に回答を投稿してください.

于 2015-11-06T06:24:20.917 に答える