Я хочу вызвать функцию deleteMarker
моего текущего вида, когда нажата кнопка «Назад» браузера. Я искал похожие вопросы, но никто не мог мне помочь.Магистраль: вызывается функция просмотра при нажатии кнопки «Назад» браузера
Текущий вид, что я хочу, функция deleteMarker
при нажатии кнопки назад щелкают по телефону:
ev.views.Evento = Backbone.View.extend({
map: 'null',
initialize: function(id){
.....
},
// function that will call
deleteMarker: function(){
this.marker.remove();
},
render: function(id){
.....
}
});
app.js
var ev = new Application();
ev.Router = Backbone.Router.extend({
routes: {
"": "home",
"evento/:id" : "evento"
},
home: function(){
setTimeout(function(){
$('#rightcolumn').html(new ev.views.Home_Eventos(ev.shell.map).el);
}, 0);
},
evento: function(id){
$('#rightcolumn').html(new ev.views.Evento(id).el);
}
});
$(document).on('ready', function() {
ev.templateLoader.load(['shell', 'home_list_eventos', 'evento'], function() {
ev.shell = new ev.views.Shell({el: "#shell"});
ev.router = new ev.Router();
Backbone.history.start();
});
});
В ev.Router.home, почему вы вызываете 'setTimeout' с миллисекундным параметром 0? Мне кажется, что это побеждает точку 'setTimeout'. – 76484
Я искал и нашел интересные обсуждения этого шаблона: http://stackoverflow.com/questions/779379/why-is-settimeoutfn-0-sometimes-useful – 76484
http://stackoverflow.com/questions/14543245/browser- back-button-handling http://stackoverflow.com/questions/25806608/how-to-detect-browser-back-button-event-cross-browser Просто прослушайте событие в «Router» и вызовите событие Backbone, которое мнение может случиться, чтобы это работа. –