我有一个谷歌地图,用户可以点击(在地图上到处),点击事件打开一个引导模式窗口,包含一个表单。我的问题是,如何/在哪里处理这个提交事件添加标记到标记集合,将其保存到数据库等。谷歌地图和Backbone.js事件触发
目前我有一个地图视图,呈现谷歌地图,并添加一个事件聆听点击。点击地图打开Modal。
App.Views.Map = Backbone.View.extend({
...
initializeMap : function(){}
...
addMapEventlistener : function() {
google.maps.event.addListener(this.map, 'dblclick', function(event) {
var coords = event.latLng.toUrlValue();
var carray = coords.split(",");
var model = new Backbone.Model({ coords: carray });
var view = new App.Views.Modal({ model: model });
var $modalEl = $("#modal");
$modalEl.html(view.render().el);
$modalEl.modal();
});
}
App.Views.App = Backbone.View.extend({
initialize: function() {
var addMarkerView = new App.Views.AddMarker({ collection: App.markers });
}
});
// add marker view
App.Views.AddMarker = Backbone.View.extend({
el: '#addForm',
initialize: function() {
$('<input>', {
type: 'submit',
value: 'Submit',
class: 'smt'
}).appendTo(this.$el);
console.log('AddMarker init run'); // this echoed out
},
events: {
'submit' : 'addMarker'
},
addMarker: function(e) {
e.preventDefault();
alert('hello');
},
});
我的猜测是,在地图上点击事件后呈现的形式,所以我必须设置骨干事件监听模式打开后,不知何故,并处理集合视图中的表单提交,对吧?
感谢您的建议。它不会将提交按钮添加到表单中,即使初始化方法仍在运行。再次,这个视图在我点击地图之前运行,所以这次表单只在模板中,所以不是“活”的。这种方式肯定不能将提交按钮添加到表单中。 编辑主帖^ – subdesign