Jquery 没有使用live()的AJAX调用-绑定单击

Jquery 没有使用live()的AJAX调用-绑定单击,jquery,Jquery,我试图在live()函数中使用AJAX,但它不起作用。有什么建议吗? ajax调用正在工作(请参见示例1),并且已注册单击(请参见alertbox 1,示例2),但在live()click中调用它时,ajax调用不会返回任何数据 //Ajax function which gets called function ajaxFunc(){ $.get("test.php", function(data){ alert(data); //Says "hello nerd!" f

我试图在live()函数中使用AJAX,但它不起作用。有什么建议吗? ajax调用正在工作(请参见示例1),并且已注册单击(请参见alertbox 1,示例2),但在live()click中调用它时,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
});

正如您所说,如果您看到“Testing.Yes,click works”警报,那么引用的代码没有理由不起作用。请注意,您引用的代码有一个语法错误,您将
颠倒过来;我假设这是发布问题的产物,因为您说它确实有效

如果您解决了这个问题,它可以正常工作:


这是有道理的;
ajaxFunc
中的任何内容都不依赖于调用它的上下文,因此无论从何处调用它都无关紧要。

您有一个语法错误:

alert("Testing. Yes, click works)";
应该是:

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

您正在为ajax调用使用相对uri,示例中使用的页面位于同一目录中?此警报是否被触发警报(“Testing.Yes,click works)”;+1表示“hello nerd!“。还有一个有趣的问题。我在你的代码重播中没有发现任何问题,但这不会影响我的记忆。”problem@lars:好吧,如果代码是直接引用的话,那么调用
ajaxFunc
将不会发生,因为解释器将跳转到错误的
警报行。但是我猜直到您我们已经遇到了问题,并且您在发布问题时引入了语法错误。。。