0

TextBox APS.NET クラスを拡張したカスタム テキスト ボックス コントロールがあります。右クリックでカレンダーが開くように作られています。ここまでは順調ですが、Firefox では、次のように、デフォルトのコンテキスト メニューがカレンダー コントロールの上に開きます。

こちら http://img4.imageshack.us/img4/2622/20130529135817.png . この Firefox コンテンツ メニューを無効にして、表示されないようにするにはどうすればよいでしょうか。

JavaScript document.oncontextmenu = function() {return false;} で設定しようとしましたが、これによりページのすべてのコンテキスト メニューが無効になります。このコントロール内でカレンダーを開くための私のコードは次のとおりです。

if (isDate) // check if it's a date textbox where the calendar should be displayed on right click
{
   this.Attributes.Add("oncontextmenu", "javascript:ShowCalendar(this);");
 }

他のコンテキストメニューが開かないようにするには、どうにかしてここに設定する必要があると思いますが、方法がわかりません。アドバイスをいただければ幸いです。

4

1 に答える 1

0

これに対する解決策を見つけました。コンテキスト メニューがカレンダーに表示されないようにするには、event.stop() を呼び出す必要がありました。

this.Attributes.Add("oncontextmenu", "javascript:if(event.stop) {event.stop();} ShowCalendar(this);");

とにかくありがとう!

于 2013-05-29T12:19:05.177 に答える