Jquery event.target не работает в IE8
Привет. У меня есть проблема с IE8. Код ниже работает в chrome и firefox, но не в IE. Так, что он приезжает в этой первой строке, ошибка в IE говорит "ожидается объект".
у меня есть img внутри div#подталкивает. При нажатии, этот код проверяет [что была нажата является img "&&", если код от нее отличается "#img-display"(id другого img внутри div, который не должен вызвать функцию) "&&", если идентификатор отличается от значения eh_tb].
$('#prods').on('click', find("img"), function(event) {
if( $(event.target).is('img') && ($(event.target).attr('id') != 'img-display') &&
($(event.target).attr('id') != eh_tb) ) {
//PROCESSAMENTO AQUI
}
});
и в То, что в HTML-меню. И div#подталкивает пустой. Qd нажимаю на ссылку меню, он вызывает функцию PHP через ajax для отображения содержимого папки в #подталкивает.
код PHP помещает в #подталкивает:
- ряд картин, которые sao thumbnails(этих карт протестированы в функции qd нажата);
- "p";
- , "img" #img-display;
ПРИМЕЧАНИЕ.: переменная "eh_tb" охранник которого thumbnail отображает их содержание в настоящее время. Это исключительно для того, чтобы загрузить функцию и в конечном итоге проведении тот же контент.
Я должен использовать event.target поскольку содержимое динамически генерируется с помощью PHP. Кто-нибудь есть решение, чтобы этот код работать в IE8?
1 answers
JQuery (в versöes 1.x) работает так же в IE8 и других браузерах на современные. Это большое преимущество использования библиотеки.
Тем не менее, ваша проблема в коде.
Удалите find("img")
и поместите только "img"
@bfavaretto указала. Таким образом делегирует событие, и это только за вас уже сделает, что сможет извлечь свой первый condicäo в вашем if
.
В funcäo параметр/callback .on()
можете использовать this
вместо event.target
и не нужно jQuery, чтобы пойти и получить ID.
Моя sugestäo код:
$('#prods').on('click', "img", function(event) {
if (this.id == 'img-display' || this.id == eh_tb) return false;
//PROCESSAMENTO AQUI
});