Backbone Marionette Google Maps infowindow按钮事件

时间:2017-02-15 09:17:00

标签: google-maps backbone.js marionette

我知道如何显示infoWindow,但是从显示的按钮中捕获事件时遇到了问题。

$max-width

当我点击按钮时,我在调用methodB时说它没有定义时出错。我和我一起试过。方法B等......但那里没有运气。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

这是一个JSFiddle,显示填充了DOM节点的InfoWindow,而不是HTML字符串。这样,我们可以使用jQuery向DOM添加编程事件,DOM可以访问当前范围,如图所示。

    var $infoWindow = $('<div>Test popup<button>Click me</button></div>');
    $infoWindow.find('button').click(_.bind(this.methodB, this));
    me.showMapInfoWindow(marker, $infoWindow.get(0));
    me.infoWindow.open(me.map, marker);

回答第一个问题

这是一个显示InfoWindow触发全局函数的JSFiddle。在这种情况下,我必须将函数设置为Window范围,但我相信这是由于JSFiddle环境。

window.myFunction = function() {
    window.alert("function fired!");
}

...

var html = '<button onclick=\'myFunction()\'>Click me</button>';

如果您想调试范围,我建议使用debugger声明:

var html = '<button onclick=\'debugger;\'>Click me</button>';