Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery ajax函数未按预期工作_Javascript_Jquery - Fatal编程技术网

Javascript jQuery ajax函数未按预期工作

Javascript jQuery ajax函数未按预期工作,javascript,jquery,Javascript,Jquery,我对jQueryAjax有一些奇怪的问题。我通过.hover事件调用jQueryAjax函数,它工作正常。我得到一些响应,并在div中显示该响应 但是,如果我想调用上的jQuery,它是对以前jQuery ajax调用的响应。单击事件,我不能调用它 有人能帮我吗 这是jQueryAjax函数 function call_jqry_ajx(file_name,show_div_id,function_name,parameter){ $.ajax({ type: "POST

我对jQueryAjax有一些奇怪的问题。我通过.hover事件调用jQueryAjax函数,它工作正常。我得到一些响应,并在div中显示该响应

但是,如果我想调用
上的jQuery,它是
对以前jQuery ajax调用的响应。单击
事件,我不能调用它

有人能帮我吗

这是jQueryAjax函数

function call_jqry_ajx(file_name,show_div_id,function_name,parameter){
    $.ajax({
        type: "POST",
        url: file_name,
        data: parameter,
        success: function(msg){
            alert( "Data Saved: " + msg ); //Anything you want
            $("#show_div").html(msg);
            alert("Done with div..");
        }
    });
}

   $(document).ready(function () 
   {
    $(".a_class").click(function(){
        alert("double times called but still getting alert.. :)");
        return false;
    });
});
在我的部门,我得到了这样的回应

<div id="show_div">
      <a class="a_class" id="a_id">Call Anchor</a>
</div>

呼叫主播

在对象实际出现在页面中之前,我无法执行jQuery函数标记的链接

您正在注册的单击事件。因此,它没有得到分配给它的事件处理程序

要解决这个问题,您应该使用
.delegate()
(对于jQuery 1.7之前的版本)或
.on()
(对于jQuery 1.7+)来使用委派事件处理。这将在将生成事件的实际内容的父对象上注册事件。当您注册事件时,您选择一个在开始处的父对象,然后事件冒泡允许捕获新创建对象中的事件

您可以将代码更改为:

$(document).ready(function () {
    $('#show_div').on('click', '.a_class', function(){
        alert("double times called but still getting alert.. :)");
        return false;
    });
});
这将注册
#show_div
对象上的
click
事件,但仅当事件源自与
.a_class
选择器匹配的对象时,才会触发事件处理程序。因此,
#show_div
中的对象可以来来去去,事件处理程序将保持原位


有关
.on()
的更多信息,请参阅。这将取代
.live()
,后者现在已不推荐使用,但过去是首选的方法。

您可以发布您的代码吗?你使用“现场”方法吗?在任何人都能做的事情之前,你需要包括更多关于你的问题的信息,而不是胡乱猜测。例如,向我们展示用于注册
事件的jQuery代码。单击()
并解释何时运行该代码(加载新HTML之前或之后)。这是我开发的所有代码。。你现在能帮我吗?