ExtJSで楽しくRIA業務アプリ開発

株式会社sus4 開発チーム

タグ ‘Firefox’ 一覧

ExtJS Tips FirefoxでExtJSとブラウザのコンテストメニューが重なるときの対応方法

without comments

このエントリーを含むはてなブックマークはてなブックマーク - ExtJS Tips FirefoxでExtJSとブラウザのコンテストメニューが重なるときの対応方法 この記事をクリップ!Livedoorクリップ - ExtJS Tips FirefoxでExtJSとブラウザのコンテストメニューが重なるときの対応方法 Yahoo!ブックマークに登録 BuzzurlにブックマークBuzzurlにブックマーク このエントリをつぶやくこのWebページのtweets Share on Tumblr FC2ブックマークへ追加 newsing it! この記事をChoix! Googleブックマークに追加 Bookmark this on Delicious Digg This

今回は備忘録も兼ねてFireFoxのコンテクストメニュー(右クリックメニュー)とExtJSで設定したコンテクストメニューが重なる場合の対処方法の紹介です。

グリッドなどで独自のコンテクストメニューを作成したときに、ブラウザのメニューを出さないようにキャンセルさせるには、以下のようにコンテクストメニューのイベントでe.stopEvent();を実行します。


/**
 * コンテクストメニューを生成
 */
onContextClick: function(grid, index, e)
{
	・・・

	e.stopEvent();
	grid.contextMenu.showAt(e.getXY());

	・・・
}

通常はこれでブラウザのコンテクストメニューはキャンセルされて表示されません。

コンテクストメニュー(正常な動作)

コンテクストメニュー(正常な動作)

しかしFirefoxでは、まれに以下のようにブラウザのメニューが表示されてしまい、Extのメニューを覆ってしまいます。

コンテクストメニュー(ブラウザメニューとかぶっている)

コンテクストメニュー(ブラウザメニューとかぶっている)

この動作はJavaScriptのコードバグではなく、ブラウザのJavaScriptの実行設定が原因のようです。

ブラウザのJavaScriptの実行設定を変更します。
Firefox > ツール > オプション > コンテンツ > JavaScriptを有効にする > 詳細設定 > コンテキストメニューを無効化または変更する にチェックを入れる

Firefoxの設定

Firefoxの設定

これでExtのコンテキストメニューだけが表示されるようになります。
JavaScriptのセキュリティを強化しているFirefoxでよく見かけるので、特定のFirefoxだけおかしい場合に疑ってみてください。

  • Share/Bookmark

佐竹 裕行

1982年生まれ。滋賀→はこだて→名古屋→大垣→名古屋。
2006年名古屋学芸大学映像メディア学科卒、その後IAMAS卒(Studio2、6期生)。2009年にsus4に入社。学生時代はMax/MSP JitterやGainerばっかり使っていたが、現在社内では主にExtとモバイル開発、動画サービスのバックエンドを担当。知る人ぞ知るアノ鍵の人。

Written by 佐竹 裕行

2 月 16th, 2010 at 2:21 pm

Get Adobe Flash playerPlugin by wpburn.com wordpress themes