- - PR -
Menuコントロール上でマウスオーバ時にwindow.onResizeイベント発生
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2009-03-24 19:39
利用環境: VisualStudio2008
Menuコントロールを貼り付けた状態で、JavaScriptにてwindow.onResizeイベントにイベントハンドラを設定すると、メニュー上をマウスオーバする度にwindow.onResizeイベントが発生してしまいます。 onResizeイベントでは、重たいコンポーネントのリサイズを行っているので、メニューのマウスオーバではonResizeイベントの処理をしたくありません。 メニューのマウスオーバでonResizeを発生させない方法か、onResizeイベントハンドラ内で、イベントがメニューのマウスオーバからキックされたのかどうかを判断できる方法はないでしょうか。
| ||||
|
投稿日時: 2009-03-25 01:22
メニューコントロールを貼り付けただけでなんでマウスオーバーすると
リサイズイベントが発生するのか調べませんか? マウスオーバーとリサイズイベントは何の関係も無いです。 あるとしたら、スクリプトがどこかで介在しているはずです。 それを突き止めるのが先ですね。 alert(event && event.srcElement && event.srcElement.id && event.srcElement.id == "Menu1" ? "メニューから" : "リサイズイベントから"); | ||||
|
投稿日時: 2009-03-25 02:26
出力HTMLを見れば呼んでいるjavascriptがわかると思いますのでそれを含めてローカルに保存するなりして
地道にalertなどでデバッグしていけばわかるはずです。 とりあえず下記のみで発生しました(当方ie7)。(DOCTYPEを取ると起きませんね)
| ||||
|
投稿日時: 2009-03-25 06:39
IE8, Firefox, Chrome, Safariで動作させてみましたが
ブラウザによって挙動が異なるようです。 asp:Menuコントロールは、クロスブラウザ対応になっているんですかね・・・ asp:Menuコントロールの使用を再検討されてはどうですか。 余談ですが、IE8では、asp:Menuコントロールが動作しないようです。 パッチが提供されています。 http://weblogs.asp.net/bleroy/archive/2009/03/23/asp-menu-fix-for-ie8-problem-available.aspx _________________ ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集 | ||||
|
投稿日時: 2009-03-25 13:15
ぴあちゃん さん、
べる さん、 Access さん、 回答ありがとうございました。 IE8のプロファイラなどでスクリプトを追ってみましたが、私のスキルでは手に負えませんでした。 event.srcElementもチェックしてみましたが、nullになっておりこれで判断はできませんでした。残念です。 Accessさんのおっしゃるように、Menuコンポーネントを使わないのが一番なのかもしれません。手間を考えるとちょっとブルーになりますが。 ありがとうございました。 [ メッセージ編集済み 編集者: Dee 編集日時 2009-03-25 13:16 ] |
1