У меня есть обработчики кликов, которые я хочу применить к строкам в моей таблице:
var myTable = $(this);
myTable.on('expand', 'tr', myHandler);
myTable.on('click', 'tr', function () {
$(this).trigger('expand');
});
function myHandler(e) {
// my action
}
Это очень упрощенная версия, но она запускает метод jQuery, который расширяет строки. Я хочу удалить этот обработчик из определенных строк в зависимости от их содержимого. У меня есть функция, которая запускается каждый раз, когда щелкают строки. Если он не соответствует установленным условиям, запускается метод, отображающий сообщение, информирующее пользователя о проблеме. Я хочу теперь отключить щелчок, чтобы развернуть эту строку.
function stopFunction(row) {
row.find('th[scope=row]').parents("#tableID").off('expand', 'tr', myHandler);
}
Выше просто удаляет щелчок, чтобы расширить возможности из всех строк. Я не знаю, как разрешить щелчок по другим строкам, а просто удалить обработчик из этой единственной строки таблицы. Обратите внимание, что row.find('th[scope]')
- это ячейка таблицы строки, первым родителем которой является ее строка, а затем родительским элементом строки является таблица (@tableID).