【问题标题】:jQuery dont see onclick event on link inside infowindow in google maps v3jQuery 在谷歌地图 v3 中的 infowindow 内的链接上看不到 onclick 事件
【发布时间】:2012-10-17 08:03:25
【问题描述】:

我有这样的问题,jQuery onclick 事件在 infowindow 的谷歌地图内看不到点击链接。

这就是我的信息窗口链接的样子:

<a href="http://example.com/#ui-accordion-accordion-header-7" class="pull-right move-to-acc" id="itemH">See Details</a>

在地图下我有关于点的详细信息的手风琴列表,所以我试图捕捉点击该链接移动到手风琴并打开它 - 这是我用来在 infowindow 中捕捉点击事件的代码:

jQuery("#itemH").click(function(event){
    alert("qq");
    });

当我点击标记信息窗口打开并点击链接但警报不显示 - 我只是移动到 div #ui-accordion-accordion-header-7 如果我将链接放在地图之外 jQuery 捕捉点击链接并显示警报

我做错了什么?

谢谢帮助

【问题讨论】:

  • 在什么时候附加点击处理程序 - 在创建信息窗口之前或之后?

标签: jquery google-maps-api-3 onclick


【解决方案1】:

你可以使用

jQuery(document).on('click', '#itemH', function(event){
    alert("qq");
});

而不是

jQuery("#itemH").click(function(event){
    alert("qq");
});

【讨论】:

    【解决方案2】:

    试试

    $("itemH").live("click", function(){ alert("再见!"); })

    只有在您附加了实时功能时,任何 dom 更新都会附加一个事件侦听器。试试这个

    $(selector).live(events, data, handler);                // jQuery 1.3+
    $(document).delegate(selector, events, data, handler);  // jQuery 1.4.3+
    $(document).on(events, selector, data, handler);        // jQuery 1.7+
    

    【讨论】:

    • 欢迎 Charles,但是正如 Sheikh 提到的,使用 live、on、delegate 取决于您使用的 jQuery 版本,尽管功能方面它们是相同的,我在我的回答中附加了支持的函数与他们的版本本身
    猜你喜欢
    • 2015-03-20
    • 2011-09-14
    • 2012-09-21
    • 2011-08-23
    • 1970-01-01
    • 2011-10-07
    • 2019-07-31
    • 1970-01-01
    • 2011-02-22
    相关资源
    最近更新 更多