Использование jQuery 1.7jQuery Делегат не привязывается, как я хочу его
У меня возникли проблемы с привязкой события Click к некоторому динамически загруженному контенту.
Я огляделся, попробовал .live
, .delegate
и .on
, и я просто не могу заставить его работать.
Это мой код:
$(".fileexplorer_folderdlg").delegate(".delete", "click", function() {
console.log("Hello world!");
});
Дело в том, .fileexplorer_folderdlg динамически загружается. Если я использую .fileexplorer (не динамически загружен), он работает, но у меня есть больше элементов с классом .delete, который я не хочу связывать (и ни один из классов элементов не может быть переименован или изменен по разным причинам) ,
Я также пробовал использовать .fileexplorer_folderdlg .delete как .delegate
селектор, тоже не работал!
Конечно, я мог бы добавить еще один уникальный класс к элементам, которые я хочу привязать, но это действительно должно работать, не так ли?
Тогда я не могу заменить документ на «.fileexplorer»? – Jeff
Да, я считаю, что это сработает. Трюк состоит в том, чтобы связать событие 'click' с' document'. Таким образом, независимо от того, что происходит с точки зрения динамического манипулирования DOM, распространение событий всегда найдет узлы для привязки. –
@Jeff, если вы знаете, что другой элемент всегда будет дочерним элементом этого статического элемента. Если вы используете jQuery UI, хотя это не будет правдой - он перефразирует диалоги под 'document.body'. – Alnitak