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


Автор: Гость_Alexey(Eburg) 16.12.2004, 12:31
Суть проблемы в следующем:

На onclick строки таблицы (<tr>) написано событие. Но на одну ячейку (<td>)этой строки это событие не должно срабатывать. Плиз помогите!

Автор: Alx 16.12.2004, 12:41
ну вообще-то так не делается... лучше бы прописывать вызов функции на onclick из всех нужных <TD>... ну щас чё-нить придумаем smile

Автор: Guest 16.12.2004, 12:46
ALEXANDRO

Понимаешь у меня функция на php строит эту таблицу, поэтому довольно тяжело уйти от этого момента, там очень многое придется менять! Вот если бы забрить старый OnClick - было бы ОК!

Автор: Alx 16.12.2004, 12:51
Код

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script language="JavaScript">
<!--//
function eventFunc()
{if (event.srcElement.id != "badTD")
alert("hello!");
}
//-->
</script>
</head>
<body>
<table width="500" border="1">
<tr onclick="eventFunc()">
<td width="20%" align="center">1</td>
<td width="20%" align="center">2</td>
<td width="20%" align="center">3</td>
<td width="20%" align="center" id="badTD">4 (!~)</td>
<td width="20%" align="center">5</td>
</tr>
</table>
</body>
</html>

Автор: Гость_Alexey(Eburg) 16.12.2004, 12:57
ALEXANDRO

Спасибо за ответы!

Я тут порылся - смотри какое решение нашел!
Код

<table width="500" border="1">
<tr onclick="eventFunc()">
<td width="20%" align="center">1</td>
<td width="20%" align="center">2</td>
<td width="20%" align="center">3</td>
<td width="20%" align="center" onclick='event.cancelBubble=true'>4</td>
<td width="20%" align="center">5</td>
</tr>
</table>

Автор: Alx 16.12.2004, 13:01
угу! регестрируйся - плюс прибавлю за то, что сам нашёл решение smile

Автор: Aliance 21.12.2004, 18:28
Цитата(ALEXANDRO @ 16.12.2004, 12:51)
if (event.srcElement.id != "badTD")


Юзаем DOM ( http://forum.vingrad.ru/index.php?showtopic=32350 )

Автор: dm9 23.12.2004, 09:15
ALEXANDRO, да, у тебя под мозиллой код не работает...

Автор: Sardar 23.12.2004, 10:16
Что бы заработало под мозиллой нужно прочесь статью "Всё о событиях" в недрах этого форума. Ссылку не даю, поиск smile
Код
<tr onclick="eventFunc(event)"><!-- волшебное слово раз -->
.......
function eventFunc(e) { //волшебное слово два
  var tg= (e["srcElement"])? e.srcElement: e.target;
  if (tg.getAttribute("id") != "badTD")
     alert("hello!");
}

Автор: Aliance 26.12.2004, 19:08
Цитата(Sardar @ 23.12.2004, 10:16)
Что бы заработало под мозиллой нужно прочесь статью "Всё о событиях" в недрах этого форума. Ссылку не даю, поиск

А моя ссылка на что? smile smile

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