【问题标题】:Fire ajax call on onclick and div在 onclick 和 div 上触发 ajax 调用
【发布时间】:2013-12-18 11:41:09
【问题描述】:

我正在尝试基于 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 本身。

我在这里错过了什么?

【问题讨论】:

    标签: javascript jquery ajax


    【解决方案1】:

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

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

    【讨论】:

    • 这似乎也不起作用。 $(document).on("click","#"+v.id, function(){ var store_id = $(this).find("div").attr("id"); 我哪里错了?
    【解决方案2】:

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

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

    在 cmets 中回答

    【讨论】:

    • awpeter - 似乎当我这样做时,我得到了一个很深的列表,但是当我似乎做 $("div#map_canvas") 时,它会更接近一点。那么这有助于解决这个问题吗?
    • 如果我能看到您正在使用此代码的 html,那将非常有帮助。如果您可以尝试将其发布到 jsfiddle.net 或其他任何地方。
    • 我确实看过你的网站,你有一个alert(store_id) 对吗?它也不起作用。原因是服务器响应错误。看看你的 msg 变量,稍微超过那个警报,它包含一条错误消息,if( results.success ) 中的所有内容都不会执行。它没有达到那个点,因为results.success 不存在。
    • 你能找到google.maps.event.addListener(marker... 并且正下方是infowindow.open(map,marker); 如果你在该行的正下方添加你的代码,当你点击一个标记时它会起作用,所以你可以在那里添加你需要的代码.如果您添加与列表中使用的相同的代码,它可能会起作用。
    • 此外,您至少可以对此答案投赞成票,以便其他人更详细地看到您的问题,也许也可以帮助您。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-26
    • 1970-01-01
    • 2013-11-10
    相关资源
    最近更新 更多