2

状态:工作中

运行顺利 - 点击作品

jQuery

 $("document").ready(function(){

    $("#test").click(function(){
        alert("abc");
    });     
 });

CSS

.blue {
background-color:blue;
}

标签正文

<body>
<div class="blue" id="test">Testing code</div>
</body>

状态:不工作

成功在其中添加文件和 divtest但单击不起作用

jQuery

 $("document").ready(function(){

    $.get("new.php", {
         // this math avoids IE from crashing
         nbRandom: Math.random() 
         },
         function(data){
         $("body").html(data);
         });

    $("#test").click(function(){
        alert("abc");
    });   
 });

CSS

.blue {
background-color:blue;
}

标签正文

<body>
</body>

有人知道该怎么做吗?

4

4 回答 4

5

该方法get是异步的,这意味着流将在 ajax 请求仍在运行时继续,最好的解决方案是将点击处理程序放入get回调中。

$("document").ready(function(){

$.get("new.php", {
     // this math avoids IE from crashing
     nbRandom: Math.random() 
     },
     function(data){
       $("body").html(data);
       $("#test").click(function(){
         alert("abc");
       });   
     });


});
于 2012-12-28T08:11:03.503 回答
4

您应该从元素或文档对象的静态父对象之一委托事件。

$(document).on("click", "#test", function(){
    alert("abc");
})
于 2012-12-28T08:13:30.510 回答
1

使用委托开启(推荐)

$(function() {
  $('body').on('click', '#test', function() { alert('abc'); });
  // or
  // $('body').delegate('#test', function() { alert('abc'); });
});
于 2012-12-28T08:22:49.487 回答
0

问题是在附加withclick之前调用了函数......div#test

在追加 div 后调用 click 函数.. 以便它获取该 id... 和事件

试试这个

$.get("new.php", {
       // this math avoids IE from crashing
       nbRandom: Math.random() 
     },
     function(data){
        $("body").html(data);
        $("#test").click(function(){
            alert("abc");
        });
     });

或者

on选择器为..的功能document(我总是喜欢使用这个)

$(document).on("click", "#test", function(){
  alert("abc");
})
于 2012-12-28T08:12:10.910 回答