我有两个页面,主要一个页面有一个按钮id的点击动作,它从另一个页面“1.php”加载。点击作业无效。 主文件:
<script type="text/javascript">
$(document).ready(function () {
$("#t").load("1.php");
$("#s").click(function () {
alert($("Done!");
});
});
</script>
<div id="t"></div>
这里是1.php:
echo '<input type="button" value="go" id="s">';
有什么想法吗?
答案 0 :(得分:2)
使用事件委托:
$("#t").on("click", "#s", function() {
您的处理程序在运行时绑定,并且当您的按钮不在DOM中时。
答案 1 :(得分:1)
答案 2 :(得分:0)
Event Delegation 就是那件事
$("#t").on("click", "#s", function() {
alert("clicked");
})
答案 3 :(得分:0)
.load()
异步发生,因此很可能在目标元素实际存在之前正在执行.click()
赋值。您可以通过将处理程序分配给父元素并将事件委托给它来解决此问题:
$('#t').on('click', '#s', function () {
alert($("Done!");
});