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

IE8以下失效例子如下:

有如下html结构:

用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);