这里有个小问题:
在我的 Backbone.js 应用程序中,我将更改保存在可编辑的模糊内容中。这意味着,当按下 tab 键时,整个 View 将被重新渲染,并且我将注意力集中在下一个元素上。我该如何恢复?
最佳答案
您可以在 View (作为普通属性,如下例所示)或模型中维护一个属性,以存储当前获得焦点的元素。每当焦点改变时,更新属性。
重新渲染后,手动将焦点设置到元素。
这是一个最小的代码:
var myView = Backbone.View.extend({
el: $('#formElement'),
initialize: function() {
_.bindAll(this);
}
events: {
'focus input': "updateFocus"
},
updateFocus: function(event) {
this.focusedElem = $(event.target);
},
render: function() {
// After rendering is complete
this.focusedElem.focus();
}
});
关于javascript - Backbone : restore focus after rendering,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9358089/