单击事件不在IE中动态附加的div上

时间:2013-06-05 12:37:45

标签: javascript jquery google-maps

我正在使用jquery geocomplete插件来显示用户输入任何地址时的地址建议。它附加一个div动态地具有类“pac-container”。它看起来像这样:

<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项目时,我必须停止事件冒泡。如何在IE上为动态添加的pac-item附加事件处理程序。

JS小提琴:http://jsfiddle.net/EcPdP/2/

除了IE之外,它适用于所有浏览器。在IE中,单击pac-item会将该click事件传播到body。请帮我解决这个问题。

2 个答案:

答案 0 :(得分:0)

试试这个:

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

您正在检查哪个版本的IE?

答案 1 :(得分:0)

我对IE有类似的问题,后来只缩小到IE10。

要解决尝试添加

background-image:url(/none) 

到未显示的div元素。由于某种原因,即使插入了不存在的图像,它也能正常工作,所以我使用了它。

事实证明,由于使用progid:DXImageTransform使动态创建的div变得透明,因此IE没有捕获所述div的事件。

我不记得我从哪里得到这个解决方案。如果我喜欢原创链接,我会更新答案。