Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Делаю контекстное меню, Что в скрипте неверно? 
:(
    Опции темы
Гость_chis
Дата 13.10.2004, 10:59 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Написал скрипт контекстного меню, но возникла проблемма. Контекстное меню должно исчезать после того как с него "съехала мышь", а оно исчезает после того как мышь "съехала" с первого пункта. Подскажите где ошибка?
Код

</STYLE>
<script>
 function contextFun(){return false;}
 document.oncontextmenu = contextFun;
</SCRIPT>  
<script>
 function fMn(obj){
   if (event.button==2){
     pm.style.display = "block";
     pm.style.posLeft = document.body.scrollLeft + event.clientX - 10;
     pm.style.posTop = document.body.scrollTop + event.clientY - 10;
   }
 }  
 function fMnItemOver(obj){obj.className = "mnItemSelect"}
 function fMnItemOut(obj){obj.className = "mnItem"}
 function fMnOut(obj){
   obj.style.display="none"
 }
</SCRIPT>

<DIV id="pm" onmouseout=fMnOut(this) style="position:absolute;display:none">
 <TABLE class="mn" cellPadding=0 cellSpacing=1>
   <TR><TD class="mnItem" onmouseover=fMnItemOver(this) onmouseout=fMnItemOut(this)>&Auml;&icirc;&aacute;&agrave;&acirc;&egrave;&ograve;&uuml;</TD></TR>
   <TR><TD class="mnItem" onmouseover=fMnItemOver(this) onmouseout=fMnItemOut(this)>&Egrave;&ccedil;&igrave;&aring;&iacute;&egrave;&ograve;&uuml;</TD></TR>
   <TR><TD class="mnItem" onmouseover=fMnItemOver(this) onmouseout=fMnItemOut(this)>&Oacute;&auml;&agrave;&euml;&egrave;&ograve;&uuml;</TD></TR>
 </TABLE>  
</DIV>

<TABLE>
 <TR onmouseup=fMn(this)><TD>ssss</TD></TR>
 <TR onmouseup=fMn(this)><TD>dddd</TD></TR>
 <TR onmouseup=fMn(this)><TD>ffff</TD></TR>
 <TR onmouseup=fMn(this)><TD>gggg</TD></TR>
</TABLE>

  Вверх
chis
Дата 13.10.2004, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 13.10.2004

Репутация: нет
Всего: нет



Извиняюсь, скрипт неполностью закачал - вот полная версия
Код

<STYLE>
 TABLE.mn {background:#c0c0c0}
 TD.mnItem {font-size:14;align:left;background:#f0f0f0;padding-left=3pt;padding-right=3pt;}
 TD.mnItemSelect {font-size:14;align:left;background:#eeeebb;padding-left=3pt;padding-right=3pt;}
</STYLE>
<script>
 function contextFun(){return false;}
 document.oncontextmenu = contextFun;
</SCRIPT>  
<script>
 function fMn(obj){
   if (event.button==2){
     pm.style.display = "block";
     pm.style.posLeft = document.body.scrollLeft + event.clientX - 10;
     pm.style.posTop = document.body.scrollTop + event.clientY - 10;
   }
 }  
 function fMnItemOver(obj){obj.className = "mnItemSelect"}
 function fMnItemOut(obj){obj.className = "mnItem"}
 function fMnOut(obj){
   obj.style.display="none"
 }
</SCRIPT>

<DIV id="pm" onmouseout=fMnOut(this) style="position:absolute;display:none">
 <TABLE class="mn" cellPadding=0 cellSpacing=1>
   <TR><TD class="mnItem" onmouseover=fMnItemOver(this) onmouseout=fMnItemOut(this)>Добавить</TD></TR>
   <TR><TD class="mnItem" onmouseover=fMnItemOver(this) onmouseout=fMnItemOut(this)>Изменть</TD></TR>
   <TR><TD class="mnItem" onmouseover=fMnItemOver(this) onmouseout=fMnItemOut(this)>Удалить</TD></TR>
 </TABLE>  
</DIV>

<TABLE>
 <TR onmouseup=fMn(this)><TD>ssss</TD></TR>
 <TR onmouseup=fMn(this)><TD>dddd</TD></TR>
 <TR onmouseup=fMn(this)><TD>ffff</TD></TR>
 <TR onmouseup=fMn(this)><TD>gggg</TD></TR>
</TABLE>

PM MAIL   Вверх
Alx
Дата 13.10.2004, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Код
<STYLE>
TABLE.mn {background:#c0c0c0}
TD.mnItem {font-size:14;align:left;background:#f0f0f0;padding-left=3pt;padding-right=3pt;}
TD.mnItemSelect {font-size:14;align:left;background:#eeeebb;padding-left=3pt;padding-right=3pt;}
</STYLE>
<script>
function contextFun(){return false;}
document.oncontextmenu = contextFun;
</SCRIPT>
<script>
function fMn(obj){
if (event.button==2){
 pm.style.display = "block";
 pm.style.posLeft = document.body.scrollLeft + event.clientX - 10;
 pm.style.posTop = document.body.scrollTop + event.clientY - 10;
}
}
function fMnItemOver(obj){obj.className = "mnItemSelect"}
function fMnItemOut(obj){obj.className = "mnItem"}
function fMnOut(obj){
obj.style.display="none";
}
function fMnOver(obj){
obj.style.display="block";
}
</SCRIPT>

<DIV id="pm" onmouseout="fMnOut(this)" onmouseover="fMnOver(this)" style="position:absolute;display:none">
<TABLE class="mn" cellPadding=0 cellSpacing=1>
<TR><TD class="mnItem" onmouseover=fMnItemOver(this) onmouseout=fMnItemOut(this)>Добавить</TD></TR>
<TR><TD class="mnItem" onmouseover=fMnItemOver(this) onmouseout=fMnItemOut(this)>Изменть</TD></TR>
<TR><TD class="mnItem" onmouseover=fMnItemOver(this) onmouseout=fMnItemOut(this)>Удалить</TD></TR>
</TABLE>
</DIV>

<TABLE>
<TR onmouseup=fMn(this)><TD>ssss</TD></TR>
<TR onmouseup=fMn(this)><TD>dddd</TD></TR>
<TR onmouseup=fMn(this)><TD>ffff</TD></TR>
<TR onmouseup=fMn(this)><TD>gggg</TD></TR>
</TABLE>



--------------------
PM MAIL WWW ICQ   Вверх
chis
Дата 13.10.2004, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 13.10.2004

Репутация: нет
Всего: нет



Тогда еще вопрос в догонку, как сделать так, чтобы на пунктах меню курсор мышки был стрелкой, а не курсором для текста, и как запретить выделение текста меню.
PM MAIL   Вверх
Gold Dragon
Дата 13.10.2004, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 1
Всего: 71



Можно так
Цитата
<TR><TD class="mnItem" onmouseover="this.style.cursor='pointer'; fMnItemOver(this)" onmouseout=fMnItemOut(this)>Добавить</TD></TR>

или так
Цитата
<TR><TD class="mnItem" onmouseover="this.style.cursor='default'; fMnItemOver(this)" onmouseout=fMnItemOut(this)>Изменть</TD></TR>




--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
HappyMan
Дата 18.10.2004, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 347
Регистрация: 29.7.2004

Репутация: 0
Всего: 2



И еще такой вопрос :)) :
Например щелкаю я на ссылке (а хреф) правой кнопкой, появляется это меню. Как мне добыть значение ссылки (на которую щелкнули), т.е в данном случае ТЕСТ, чтоб потом я этим значением мог оперировать??
<a href="хахаха.htm"> ТЕСТ </a>

Это сообщение отредактировал(а) HappyMan - 18.10.2004, 21:18


--------------------
Цитата
Желательно на 100%.
© Mal Hack
PM MAIL   Вверх
Sardar
Дата 18.10.2004, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



HappyMan один топик, один вопрос ;-)
Достань ссылку по ID:
Код

<a id="lnk" href="хахаха.htm"> ТЕСТ </a>
....
document.getElementById("lnk").innerHTML="<b>Что то другое</b>";



--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
HappyMan
Дата 18.10.2004, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 347
Регистрация: 29.7.2004

Репутация: 0
Всего: 2



Sardar
Это будет именно ИД(и значение) ссылки на которой щелкнули правой кнопкой мыши????


--------------------
Цитата
Желательно на 100%.
© Mal Hack
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0968 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.