jquery on事件在IE8下失效的一种情况,及解决方法

结论:IE8以下jquery的on事件失效,有可能是使用了原生js,可以换jquery的事件来试试。

IE8以下失效例子如下:

有如下html结构:

<ul id=‘ul‘>
    <li class=‘li‘></li>
</ul>

用jQuery 为ul下面的所有li绑定click事件。

$(‘#ul‘).on(‘click‘, ‘li‘, function(){
    //do stuff
    alert(‘I am clicked!‘);
});

假如要使ul中增加一个li,那么可以使用原生js这样子做。

var ul = document.getElementById(‘ul‘);
var li = document.getElementsByClass(‘li‘);
var newLi = li[0].cloneNode(true);
ul.appendChild(newLi);

但是点击生成的li元素,不会触发alert。

这时使用jquery的插入方法却可以,代码如下。

var $li = $(‘.li‘);
var $newLi = $li.clone();
$(‘#ul‘).append($newLi);


jquery on事件在IE8下失效的一种情况,及解决方法,布布扣,bubuko.com

jquery on事件在IE8下失效的一种情况,及解决方法

上一篇:CSS让图片垂直居中的几种技巧 三种方法介绍


下一篇:WP8开发日志(3):MVC设计模式进阶——绑定多个数据集