如何对加载的按钮应用单击操作

时间:2014-03-04 14:38:27

标签: jquery

我有两个页面,主要一个页面有一个按钮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">';

有什么想法吗?

4 个答案:

答案 0 :(得分:2)

使用事件委托:

$("#t").on("click", "#s", function() {

您的处理程序在运行时绑定,并且当您的按钮不在DOM中时。

答案 1 :(得分:1)

使用.on()

$("#t").on("click", "#s", function() { });

Event Delegation


将事件处理程序附加到父#t元素,以便在#s添加到DOM时单击事件

答案 2 :(得分:0)

Event Delegation 就是那件事

$("#t").on("click", "#s", function() {
  alert("clicked");
})

答案 3 :(得分:0)

.load()异步发生,因此很可能在目标元素实际存在之前正在执行.click()赋值。您可以通过将处理程序分配给父元素并将事件委托给它来解决此问题:

$('#t').on('click', '#s', function () {
    alert($("Done!");
});