繁体   English   中英

在onclick和div上触发ajax调用

[英]Fire ajax call on onclick and div

我正在尝试基于onclick事件触发AJAX调用,以进行Google地图集成。 此处显示的info_window_content函数: http : //jsfiddle.net/6xw2y/是创建位于地图本身内的div的调用。

实际上,“ v”变量确实包含一个store_id。 因此,在该函数的开头,它具有以下内容:

var info_window_string = "<div class='maps_popup' id="+v.id+">";

现在,我已经复制并修改了一个onclick事件。 第一个onclick事件可以很好地工作并刷新面板。 第二个onclick事件无效,其代码如下:

 $("#div").click(function(){
   var store_id = $(this).find("div").attr("id");

    var pathname =  "ajax=1&store_id="+store_id+"&action=get_nearby_stores&distance="+distance+"&lat="+lat+"&lng="+lng+"&products="+$('#edit-products').val();

    $("#pocp_content").load("file1.php?" + pathname);

 });    

这似乎不起作用。 我也尝试过将div标签更改为:

$("div").click(function(){

仍然不起作用。 作为补充提示。 有一次我能够刷新它,但是它通过map-container作为store_id而不是id本身。

我在这里想念什么?

我同意Joke_Sense10,但我认为您可能未将事件绑定到正确的DOM元素。

尝试在浏览器中打开开发人员控制台(同时在开发代码的一侧),然后输入$("#div")以查看其返回的元素是否为您期望的元素。 您也可以在代码中使用console.log($("#div"))

在评论中回答

对于大量元素,请始终使用.on()方法,因为后者将在DOM树的最高节点之一上绑定单个事件侦听器。

$(document).on("click","#"+v.id, function(){

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM