Я работаю с системой авторизации. У меня четыре неупорядоченных списка. Назовем их list1, list2, list3 и list4. два из них о странах и остальные два - о городах. list1 содержит все страны. list2 содержит все доступные страны для одного сотрудника. Пользователи перемещают одну страну из списка1 в список2. когда пользователь нажимает list2, я могу обработать это событие, и я населяю город этой страны, чтобы list3 с jquery. Этот список городов происходит с веб-страницы aspx. Я хочу обработать событие click4 списка. list4 содержит все доступные города для сотрудников. Я написал эти строки.Как я могу обработать событие щелчка динамически заполненного ul?
$('#clist2 li').click(function() {
alert('test');
});
Но я не видел предупреждения. Как я могу обработать событие click4 списка?
+1 IMO, метод '.live()' должен быть удален из API. – user113716
@patrick dw: Зачем же вы этого хотите? Мне нравится этот метод делегата для этого конкретного SO-вопроса, но есть много сценариев, когда он дает код меньше, чем чистый, или может вызвать головные боли обслуживания. Live - полезный инструмент, который следует использовать, когда это необходимо. – rfunduk
@thenduks - есть минусы '.live()', давайте возьмем простой пример: '$ (" [attr = value] "). Live (" click ", function() {});'. Что это сделал? Он выполнил очень дорогой селектор, чтобы найти все элементы с этой парой атрибут/значение ... затем отбросил результат, потому что мы вообще этого не заботимся, нам нужен только селектор для обработчика 'click' на' document' в первую очередь. Сравните с: '$ (" body "). Delegate (" [attr = value] "," click ", function() {});' который * не * выполняет этот селектор, это намного дешевле. –