3

jQuery1.7.2の使用。1.5.1までの古いバージョンでテストされています。同じ結果。

9未満のFFおよびIEでは、DOM要素の期待されるjQueryオブジェクトを返すことで正常に機能します。ただし、他のすべてでは、DOM要素のjQueryオブジェクトのjQueryオブジェクトを返します。jQueryのこれらの関数は、最終的に渡された要素がDOM要素であると想定しているため(私は多くのトレースを行いました)、これは幅または高さを取得しようとするものすべてに影響します。また、私はこれまでこの問題に遭遇したことがありません。これはすべてがうまくいかなかったサイトです。前のボタンと次のボタンの動作を確認したい場合は、まだ修正していません。click()次のプレイリスト要素を呼び出すことになっています。この問題が原因ではありません。

コードはMediaElementJSから取得されます。

t.controls = t.container.find('.mejs-controls');
t.layers = t.container.find('.mejs-layers');

私が最終的に思いついた修正。

if(!mf.isFirefox && !(/MSIE [876]/.test(navigator.userAgent))){
    t.controls = t.container.find('.mejs-controls').get(0);
    t.layers = t.container.find('.mejs-layers').get(0);
}else{
    t.controls = t.container.find('.mejs-controls');
    t.layers = t.container.find('.mejs-layers');
}

さて、なぜ神の緑の地球上で、FFを除いて新しいブラウザでそれが悪いのですか?

ブレークポイントを設定する場合の行は次のとおりです。

  • jquery + mep.js(jQueryがここにバンドルされていたため、テスト用に取り出しました)
    • 次へ:4595
    • 以前:4600
  • jquery-1.7.2.js
    • jQuery.next():5582
    • jQuery.prev():5585
    • jQuery.nth():5666

アップデート

他のページは影響を受けていないようです。http://www.commercialsonhold.com/messagesamples/aesthetics.htmのように。ページ上の他の何かがjQueryを台無しにしていると思い始めています。サイトはJoomla!JoomlaのMooToolsでよく問題が発生します!ただし、サイトでは通常、jQueryがまったく機能せず、1つの関数が異常に動作しているだけではありません。

アップデート

jsFiddle: http: //jsfiddle.net/h5ahY/4/

jQueryオブジェクト内のjQueryオブジェクトの図

4

1 に答える 1

0

問題が見つかりました。それはMooToolsでした。方法も理由もわかりません。

jQueryインクルードをMooToolsインクルードの上に移動し、どこでも使用jQueryすることで修正されました。$

jsFiddleの使い方がわかったので、すぐにjsFiddleを起動します。

于 2012-06-22T21:26:25.190 に答える