2013-06-05 3 views
0

Я использую плагин geocomplete jquery, чтобы показать адрес, когда пользователь вводит любой адрес. Он добавляет один div динамически с классом «pac-container». Это выглядит следующим образом:Событие Click не работает над div, добавленным динамически в IE

<div class="pac-container"> 
    <div class="pac-item"><b>SDG</b>, Vaishali, Bihar, India</div> 
    <div class="pac-item"><b>SDG</b>M, Kuber Nagar, Ahmedabad, Gujarat, India</div> 
    <div class="pac-item"><b>sdg</b>sdf, Isselburg, Germany</div> 
    <div class="pac-item">Lorong <b>Sdg</b> Kasim B Hamid Malacca Melaka Malaysia</div> 
</div> 

Теперь моя проблема, когда я нажимаю на любом из Pac-пункта, я должен прекратить бульканье события. Как я могу присоединить обработчик событий к динамически добавленному pac-элементу для IE.

JS Fiddle: http://jsfiddle.net/EcPdP/2/

Это работает отлично подходит для всех, кроме браузера IE. В IE нажатие на pac-элемент распространяется на событие click to body. Пожалуйста, помогите мне решить эту проблему.

+0

какая версия IE вы используете? –

+0

Извините, но я не могу воспроизвести вашу проблему здесь –

+0

Убедитесь, что вы добавили событие ПОСЛЕ того, как элемент существует в DOM, или он не будет работать. Я не смог воспроизвести проблему, которую я мог бы добавить, - на основе вашей скрипки. –

ответ

0

попробовать это:

$("#input-geo").geocomplete().bind("click",function(e){ 
    e.stopPropagation(); 
    e.preventDefault(); 
}); 

Какая версия IE вы проверить в?

+0

Его во всей версии IE, включая 8,9,10. Еще одна проблема возникает после реализации вашей логики. – Prateek

+0

Приведенный выше код будет прикреплять событие клика на поле ввода, а не на «pac-container». Я предполагаю, что событие распространяется от самого «pac-контейнера». – Prateek

0

У меня была аналогичная проблема для IE, а позже сузилась только до IE10.

Для решения попробуйте добавить

background-image:url(/none) 

к Div элементов, которые не отображаются. По какой-то причине он работает, даже если вставлено несуществующее изображение, поэтому я использовал это.

Оказывается, из-за того, что динамически созданный div был прозрачным с использованием progid: DXImageTransform, IE не записывал события для указанного div.

Я не помню, откуда я получил это решение. Если мне понравится исходная ссылка, я обновлю ответ.

Смежные вопросы