Javascript jQuery ajax函数未按预期工作
我对jQueryAjax有一些奇怪的问题。我通过.hover事件调用jQueryAjax函数,它工作正常。我得到一些响应,并在div中显示该响应 但是,如果我想调用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
上的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之前或之后)。这是我开发的所有代码。。你现在能帮我吗?