0

最近、Web サイトを .NET 3.5 から 4.0 にアップグレードしました。その後、レガシー バージョンの IE で非常に奇妙なことが起こっていることに気付きました。標準ビューの IE9 は設計どおりに動作しますが、IE の他のバージョンでは、RequiredFieldValidator を使用して ASP テキスト ボックスに入力すると、奇妙なエラーが発生します。見つかった .NET 匿名関数では、「メンバーが見つかりません」というメッセージが表示されます。この行のスクリプト エラー:event = event || window.event; どこでも検索しましたが、解決策が見つかりませんでした。これは、テキストボックスに入力したときにのみ、このページでのみ発生します。任意の助けをいただければ幸いです。これは古いバージョンの IE でのみ発生し、他のブラウザや IE9 では問題なく処理されるようです。

ありがとう!

4

2 に答える 2

2

|| イベントにアクセスしていますか || setTimeout関数内のwindow.event? もしそうなら、その時までにイベントが失われた可能性があり、イベントにアクセスすると「メンバーが見つかりません」というエラーが表示されます..

于 2012-07-28T08:00:19.460 に答える
0

コードを投稿していないため、何が起こっているのかを推測することしかできません。

エラーをスローする行は問題ありません (event関数の引数にあると仮定して)。おそらくエラーは次の行が原因です。Member not foundオブジェクトの存在しないプロパティを取得しようとすると、IE はエラー メッセージをスローしeventます。

keyupスクリプトにorハンドラがありkeydown、次のような行があると思います:

if (event.which == 13){ ... }

ただし、古い IE の object にはwhichプロパティがなく、対応するプロパティはです。したがって、両方を確認する必要があります。eventkeyCode

var key=event.which || event.keyCode;
if (key == 13){ ... }
于 2012-07-28T07:51:30.683 に答える