Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Отменить событие для ячейки таблицы (https://javascript.ru/forum/jquery/61454-otmenit-sobytie-dlya-yachejjki-tablicy.html)

kot_k_k 19.02.2016 12:30

Отменить событие для ячейки таблицы
 
Добрый день.
на строку повесил событие
<tr
onClick="javascript:CallPrint({$key});"
>

работет - уря.

но есть ячейка с чекбоксом, при нажатии на котором так же срабатывает событие.

Вопрос - как отменить событие на конкретной ячейке?
что-то
<td onClick=""> - но оно не работает

если нельзя - то как получить номер колонки в которой произошло нажатие мышки?
чтобы поставить заглушку в самой функции.

destus 19.02.2016 12:42

<table style="border: 1px solid black" width="100" height="100">
        <tr  onClick="javascript:alert('123');">
            <td><input type="checkbox" /></td>
        </tr>
    </table>
    <script>        
        document.querySelector('input[type=checkbox]').addEventListener('click', function (e) {
            e.stopPropagation();
        })
    </script>

kot_k_k 19.02.2016 13:06

Спасибо, н опочему-то не работает.

воткнул в http://codepen.io/anon/pen/XXjYyN
вставил туда - на первой строке работает (т.е. подавляет) а на следующих нет.

destus 19.02.2016 13:18

Цитата:

Сообщение от kot_k_k (Сообщение 408423)
на первой строке работает (т.е. подавляет) а на следующих нет.

Ну если несколько строк, значит для каждой надо событие обрабатывать

<table style="border: 1px solid black" width="100" height="100">
        <tr  onClick="javascript:alert('123');">
            <td><input type="checkbox" /></td>
        </tr>
        <tr onClick="javascript:alert('123');">
            <td><input type="checkbox" /></td>
        </tr>
    </table>
    <script>        
        var arr = document.querySelectorAll('input[type=checkbox]');
        [].forEach.call(arr, function (el) {
            el.addEventListener('click', function (e) {
                e.stopPropagation();
            })
        })
    </script>

kot_k_k 19.02.2016 13:46

Вау , спасибо!!

заработало (с) Кот Матроскин


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