2013-05-29 3 views
0

У меня есть пользовательский элемент управления текстовыми полями, который расширяет класс TextBox APS.NET. Он построен таким образом, что при щелчке правой кнопкой мыши открывается календарь. Пока что так хорошо, но в Firefox контекстное меню по умолчанию открывается по моему календарному управлению, как здесь:Отключить контекстное меню для текстового поля

here 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);"); 
} 

Я думаю, что мне нужно, чтобы установить его здесь как-то помешать другой контекстное меню с открытия, но я не знаю, как. Любые советы очень ценятся.

ответ

0

Нашли решение. Я должен был вызвать event.stop(), чтобы предотвратить появление контекстного меню над моим календарем.

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

В любом случае, спасибо!

Смежные вопросы