我有一個谷歌地圖,用戶可以點擊(在地圖上到處),點擊事件打開一個引導模式窗口,包含一個表單。我的問題是,如何/在哪裏處理這個提交事件添加標記到標記集合,將其保存到數據庫等。谷歌地圖和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