Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Помогите с событием oncontextmenu ...


Автор: jeans1986 22.6.2007, 21:42
У меня заблокировано контекстное меню.
Код

<body oncontextmenu="return false;">

 Но в
 
Код

<input type=text name=tmp value="aaaaaaa">

 надо как то его разблокировать, чтоб появлялось оригинальное контекстное меню. Как мне сделать? Заранее благодарю.

Автор: Zeroglif 22.6.2007, 23:30
Код

  <body oncontextmenu="return((event.target||event.srcElement).id!='inp'?false:true)">
  <input type="text" name="tmp" id="inp" value="aaaaaaa">

Автор: AKS 23.6.2007, 06:08
Zeroglif, 
Код

return EqualityExpression != RelationalExpression ? false : true

А условный оператор нужен? Встречалась ли такая ситуация, когда возвращаемого оператором не равенства значения не достаточно? Глянул и думаю: "Заменить на оператор сравнения и все"... 
Хотя наверно пример имеет такой вид для наглядности...
(Желание рассуждать о ява-скрипт рождает вопросы, похожие на мелкие "придирки" :( )

Автор: Zeroglif 23.6.2007, 18:15
Цитата(AKS @  23.6.2007,  06:08 Найти цитируемый пост)
Встречалась ли такая ситуация, когда возвращаемого оператором не равенства значения не достаточно?

Мне не встречалась. Тут вообще-то территория несколько непредсказуемая - обработчик живёт в теге, само по себе событие весёлое плюс его дефолтное действие гасится через return false, всё это хоть и давно работает, но слабо документировано и обосновано, зависит местами от браузера, даже не знаю, то ли всё-таки лучше вернуть однозначное true, то ли, как вы говорите, if(...) return false и все дела, не знаю...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)