结论: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);