Ответ 1
jQuery выполнит цикл для вас только для прямых детей:
$("#div1").children().off();
или если вы хотите, чтобы все потомки:
$("#div1").find("*").off();
У меня есть элемент div с несколькими элементами внутри него, как кнопки и т.д., к которым привязаны обработчики событий. Я знаю, что это возможно:
$("#button1").off()
Чтобы удалить обработчик для кнопки, но я хотел бы сделать что-то вроде этого, если это возможно:
$("#div1").removeChildHandlers();
Есть ли встроенная функция в JQuery для этого или мне нужно было бы закодировать их все элементы и удалить 1 на 1?
jQuery выполнит цикл для вас только для прямых детей:
$("#div1").children().off();
или если вы хотите, чтобы все потомки:
$("#div1").find("*").off();
Помогает ли это:
$("#div1").find('*').off();
Попробуйте
$("#div1 >* ").off();
Или:
$("#div1").find('button').off();
если вы говорите о <button>
элементах