Jquery 事件未绑定(bind)到 IE 中的隐藏 div

标签 jquery internet-explorer jquery-dropkick

我正在使用 JQuery 1.8.3 和 Dropkick 插件来自定义我的网站中的选择。 (https://github.com/JamieLottering/DropKick)。

dropkick 插件生成如下 HTML:

<div class="dk_container dk_theme_default dk_open" id="dk_container_min-price" tabindex="" style="display: block;">
<a class="dk_toggle" style="width: 117px;"><span class="dk_label">Min pris (€/$)</span></a>
<div class="dk_options" style="top: 29px;">
    <ul class="dk_options_inner">
        <li class="dk_option_current"><a data-dk-dropdown-value="0">Min pris (€/$)</a></li>
        <li class=""><a data-dk-dropdown-value="50000">50.000</a></li>
        <li class=""><a data-dk-dropdown-value="75000">75.000</a></li>
    </ul>
</div>

问题是,当用户单击其中一个选项时,我需要执行一些特定的操作,因此我将一个事件绑定(bind)到该选项的单击,如下所示:

$('.dk_options_inner li').on('click', function(){
alert('this');
});

它在 Chrome 和 Firefox 中运行良好,但在 IE 中(我尝试过 IE10、IE9 和 IE8)则不起作用。

这是一个显示问题的jsfiddle: http://jsfiddle.net/NPRPf/2/

我尝试过使用 .bind() 和 .on(),但它们都不能在 IE 中工作(并且都可以在其他浏览器上工作)。我还尝试将 dk_options 的 css 更改为“visibility:hidden”而不是“display:block”,但它也不起作用。

有人知道会发生什么吗?

最佳答案

IE 10 的问题出在文件 jquery.dropkick.1-0.1.js 第 186 行的 DropKick 插件上,有一个比较来测试浏览器是否是 IE 6,对于 IE 10 及更高版本,此比较是正确的,鉴于第 17 行它检查了这一点:

$.browser.version.substr(0, 1) < 7

显然,这会将 IE 10 报告为 IE 1,因此将被视为 IE 6 或更早版本。

关于Jquery 事件未绑定(bind)到 IE 中的隐藏 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17371892/

相关文章:

jquery - 如何使用 jquery 设计两类 css

javascript - jquery时间如何制作进度条

javascript - 在 IE 中使用 javascript 嵌入 SWF 对象时出现问题

actionscript-3 - 预加载器在 IE 中拖延 Flash 电影

html - 无法在 IE 上打印第二页

jquery - DropKick 选择图像

javascript - 如何在Jquery中编辑元素的数据属性

jQuery 检查表单输入是否为空(除了一个)