没有AJAX调用live() - 绑定点击

时间:2010-12-16 07:53:39

标签: jquery

我试图在live()函数中使用AJAX但它不起作用。有什么建议? ajax调用正在工作(参见示例1)并且注册了click(请参阅alertbox 1,示例2)但是当在live()内部调用它时 - 单击,AJAX调用不会返回任何数据

//Ajax function which gets called
function ajaxFunc(){
   $.get("test.php", function(data){
     alert(data);    //Says "hello nerd!" from PHP script
   });
}

//Example 1. Works fine.
$('#button').click(function(){
   ajaxFunc();  //Alerts "hello nerd!"
});

//Example 2. Does not work
$('.category_item').live('click', function(){    
    alert("Testing. Yes, click works)";       //Alertbox 1, 
    ajaxFunc(); //Alerts a empty alertbox       Alertbox 2
});

2 个答案:

答案 0 :(得分:3)

您遇到语法错误:

alert("Testing. Yes, click works)";

应该是:

alert("Testing. Yes, click works");

答案 1 :(得分:1)

如果你说,你看到“测试。是的,点击工作”提醒,那么引用的代码就没有理由不起作用了。请注意,您引用的代码在那里有语法错误,您有")反转;我认为这是发布问题的工件,因为你说它做了工作。

如果你解决了这个问题,它可以正常工作:http://jsbin.com/uvuyi4

这是有道理的; ajaxFunc中的任何内容都不依赖于调用它的上下文中的任何内容,因此调用它的位置并不重要。