jQuery 1.9/2.0/2.1及其以上 on 无效的解决办法
2015-05-05来源:

jQuery 1.9/2.0/2.1及其以上版本无法使用live函数了,然而jQuery 1.9及其以上版本提供了on函数来代替。

如果要绑定的on方法是动态加载出来的元素,那么这样使用就是没有用的。

<script>

$(document).ready(function(){

$(“#div1”).click(function(){

$("<div class='test'>test</div>").appendTo($("#div1"));

});

$(“.test”).on(“click”,function(){

$(".test").css("background-color","pink");

});

$(“#div2”).bind(“click”,function(){

$(this).css("background-color","pink");

});

});

$(document).ready(function(){

$(“#div1”).click(function(){

$("<div class='test'>test</div>").appendTo($("#div1"));

});

$(document).on(“click”,“.test”,function(){//修改成这样的写法

$(".test").css("background-color","pink");

});

$(“#div2”).bind(“click”,function(){

$(this).css("background-color","pink");

});

});

究其元素就在于使用$(document)意义就在于使元素加载完后才执行方法,所以当为jQuery动态加载的元素绑定on方法的时候,使用$(document)设置代码脚本在DOM元素加载完成后开始执行。

更多信息请查看IT技术专栏

推荐信息
Baidu
map