jQuery и DataTables с селектором not ()

0

В следующем коде, как я могу это сделать, чтобы щелкнуть флажок или поле ввода не переключить выбор строки? Я попытался использовать селектор not(), как в:

$('#example tbody').on('click', 'tr:not(input)', function () ...

http://jsfiddle.net/kevmor/7txDz/

  • 0
    Спасибо, что работает, но теперь я понял, что у меня есть еще одна проблема, я использую флажок для каждой строки в качестве флажков «выбрать все» для строки. Если я остановлю пузырь, есть ли способ, которым я все еще могу выбрать все (флажки)?
  • 0
    Селектор 'tr:not(input)' выбирает все элементы <tr> которые также не являются элементами <input> . На самом деле, единственный способ «выбрать tr, исключая определенных потомков», это сделать подход stopPropagation @DylanHayes, показанный ниже, я полагаю. Я хотел сделать именно то, что вы описываете, и это сработало для меня.
Теги:
datatables

2 ответа

0

используйте e.stopPropagation() на входах:

$('#example tbody').on('click', ':input', function(e){
   e.stopPropagation(); // stops the event to bubble up to the dom tree
}).on('click', 'tr', function () ...

демонстрация


:input в jQuery выбирает все элементы формы, включая флажки, радио, текстовые поля, выбирает и т. д.

0

Это называется Event Bubbling.

jQuery stopPropagation bubble down

Использование:

$('input').on('click', function (e) {
   e.stopPropagation();
})
Сообщество Overcoder
Наверх
Меню