.on()没有在ajax加载的页面上工作

时间:2012-06-06 11:23:46

标签: javascript jquery html ajax

我的soft.php代码

<!DOCTYPE html>
<html>
<head><style>
</style>
<script src="jquery.js"></script>
<script>
$(function(){
$("button").on("click",function(){alert("f");});
$("div").on("click",function(){
$("span").load("check.php");
});

});</script></head><body>
<div>Click</div>
<button>eaf</button><span></span>
</body></html>

check.php代码

<body>
<button>Hello</button>
</body>

我想在点击通过ajax加载的按钮时提示f,该文件与.live()一起正常工作。 但是有人告诉我.on()可以用来代替live。但是.on()在这里不起作用。解决方案

1 个答案:

答案 0 :(得分:7)

$('body').on("click", "button", function(){
    alert("f");
});

当您在页面加载后将button添加到DOM时,您需要使用委托事件。

最好使用其他选择器代替body

您可以使用多个选择器,例如:

$('body').on("click", "button, div", function(){
    alert("f");
});

了解.on()