Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как реализовать onclick на ячейках таблицы (https://javascript.ru/forum/events/27309-kak-realizovat-onclick-na-yachejjkakh-tablicy.html)

micscr 02.05.2012 14:55

last-art, в jquery для таких вещей имеется live.
Если без jquery, то в target или srcElement будет ссылка на нужный элемент

bes 02.05.2012 15:23

Цитата:

Сообщение от dmitriymar

И что я там должен был найти, "чётко" описанное решение:
Цитата:

Сообщение от dmitriymar
слушатель на всю таблицу вешать, а не на каждую ячейку.и в колбеке определять соответствие...

Приведённый мною вариант решения работает, а что именно хотел автор поста мне не известно, приведи свой вариант решения, тогда можно будет о чём-либо говорить.


Цитата:

Сообщение от dmitriymar
чтоб не было подобных фраз

Вот таких фраз наверное не должно быть:
Цитата:

Сообщение от dmitriymar
чего? ну и говнокод ..


bes 02.05.2012 15:43

dmitriymar, вот micscr дал нормальный ответ, а ты наверное хотел дать другую ссылку http://learn.javascript.ru/obtaining-event-object

micscr 02.05.2012 15:43

bes, там уже несколько авторов сменилось.
Смысл в том, чтобы не на каждый элемент(коих много раз это td) вешать обработчик, а на их родителя.
Просто события в js всплывают и на родителе их можно поймать.

bes 02.05.2012 15:46

Цитата:

Сообщение от micscr
Смысл в том, чтобы не на каждый элемент(коих много раз это td) вешать обработчик, а на их родителя.
Просто события в js всплывают и на родителе их можно поймать.

Всё понял, а ваш ответ через event.target || event.srcElement дал самый короткий путь решения.

sotik 12.04.2019 05:30

Здравствуйте.Есть такой html и мой js.
Помогите пожалуйста:
1. Имитировать клик на форме;
2. Вытащить информацию об объекте внимания, например хутор.
Пока удается вытащить только название этого самого объекта и вознаграждение, например: Р******* 0,0533 0,1066

<table class="register statistics">
<tr>
<th class="text-center" width="80">Казна</th>
</tr>
<tr class=""><td class="withTip" title="Хутор" width="43">
<span class="sp"></span>
</td>
<td>Р*******</td>
<td class="text-center">
<span class="color-green">0,0533</span>
</td>
<td class="text-center">
<span id="treasury_600686823" class="color-gray">0,1066</span>
</td>
<td><form method="POST" action="/stash/attack">
<input type="submit" value="Одолеть" class="btn" />
</form></td></tr>
<tr class="zebra">
<td class="withTip" title="Деревня" width="43">
<span class="sp"></span>
</td>
</table

$('table.register tr').each(function(key, elem){
var td = $(this).html();
alert($(elem).text());
if (key == 1){
//$('.btn').click(); 
 return false;
}
});


Нашел ответ на второй вопрос пока:
alert($(td).attr('title'));

Выводит "хутор"
Отчасти нашел ответ и на первый вопрос, но почему-то клик не осуществляется. В чем дело? :)
$(td).find("input[type='submit']").click();


Часовой пояс GMT +3, время: 14:04.