0

まず、これが私の最初の質問です。適切に質問されない場合は申し訳ありません。オフィスで開発したウェブアプリにバグがあります。アプリはほぼ完成していますが、IE <9では、jQueryにフォーカスイベントとブラーイベントが添付されているテキストボックスをクリックするとすぐにブラーイベントが発生します。これはこの画像で確認できます(テキストボックスをクリックするだけです)。

https://www.dropbox.com/s/yn10xfrfxsr38bq/screen.PNG

$('#divVolee [type="text"]') 

focusinまたはfocusイベントは添付されていません。

アプリケーションへのURL:

http://86.126.255.70:2213/Anoxa/

必要に応じて、「Demarrer」ボタンを使用して入力できます。

私は誰にも私のためにコードを書くように頼むことはありません、または私はコードとネット上で何日も検索した後、それを引き起こす可能性があるものを知りません。

同じことを、フォーカスイン、フォーカス、フォーカスアウト、ぼかし、直接アタッチ、またはデリゲートを使用して試しました。入力フィールドをクリックするとすぐに、blur/focusoutイベントが発生します。

ご協力ありがとうございました。

4

2 に答える 2

1

見つけた。私は犯人を見つけるまですべてをコメントし始めました:

function resizeAccordion() {
    var active = $('#divAccordion').accordion('option', 'active');
    $('#divAccordion').accordion('destroy').accordion({ heightStyle: "fill", active:   active });
}

 var resizeId;
 $(window).resize(function () {
     clearTimeout(resizeId);
     resizeId = setTimeout(resizeAccordion, 600);
 });

このコードは、ユーザーがブラウザーのサイズを変更した場合に、ページ内のアコーディオンのサイズを変更して再配置することになっています。どういうわけか、IE <9では理由もなくトリガーされ、これによりブラーイベントがトリガーされました。何時間も経った後。多分それは間違った考えやコードかもしれませんが、それでも私はそれのためにIEを嫌います。

于 2013-01-22T11:55:18.527 に答える
0

このバグを再現できません(IE9でIE8モードを使用)。ただし、簡単な回避策は次のようになります。(非常に奇妙な場合でも)

$('#divVolee [type="text"]').focus(function(){
    //>>code for FOCUS here<<
    $(this).blur(blurcallback);
});

function blurcallback()
{
  //>>code for BLUR here<<
  $(this).off('blur');
}
于 2013-01-21T15:41:00.250 に答える