ページの 1 つに記事のリストと、特定のキーワードに基づいてこれらをフィルター処理するオプションがある Web サイトで作業しています。すべてのキーワードはリンクであり、リストの右側にリストされています。正しい URL を取得するために、各キーワードのリンクは、指定されたキーワードに対して正しい応答を返す ajaxURL の一部を保持します。さらに、すべてのリンクに「クリック」イベントを追加し、最後の必須パラメーターを ajaxURL に追加するスクリプトを入手しました。次のように、jQuery の「ロード」関数を使用してリストを「リロード」します。
$('a.keyword').click(function(event){
event.preventDefault();
// Other logic
$('.list').load(ajaxURL);
}
ただし、IE9 でフィルターを使用すると、「ajaxURL」のコンテンツがページ全体に読み込まれます。つまり、ページ全体が結果のリストに置き換えられます。これは、各リンクで取得した「クリック」イベントで「event.preventDefault()」のみを使用することの問題である可能性があると考えたため、さまざまな代替手段を追加しました。
event.stopPropagtion()
return false
if(event.preventDefault){
event.preventDefault();
} else {
event.returnValue = false;
}
何時間ものデバッグの後、これらのさまざまな組み合わせを試し、IE で提供されている開発者ツールを使用して IE7、IE8、および IE9 を試した後、IE9 で (開発者ツールを開かずに) 初めてページを開いたときに、説明されている問題が発生することに気付きました。その上。ただし、開発者ツールを開いてIE8を選択すると、すべて完全に機能します! IE9に戻すと同じことが起こります! (この場合、上記のすべての代替手段を使用しました。)
何らかの理由で、これらのトランジションはそれを機能させます! これを修正する方法がわかりません..ユーザーに開発者ツールを開いてモードを切り替えて動作させることはできません。:P 何かアイデアはありますか? 開発者ツールはこれを行うことができるものを追加しますか?
この問題について何か助けていただければ幸いです。:-)
PS。Chrome、++で問題なく動作します。