javascript - Backbone : restore focus after rendering

标签 javascript backbone.js focus

这里有个小问题:

在我的 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/

相关文章:

php - 从分页中删除当前页面的超链接

javascript - 如何将功能分配给 marionette.template

javascript - 使用 Gulp Browserify 的主干模板

java - 在存在另一个可聚焦组件的情况下,AWT Canvas 无法获得焦点

如果不是正文元素,Android 无法正确滚动输入焦点

php - 如何说服其他程序员使用 Gettext?

javascript - 表格单元格悬停和行跨度

javascript - 使用 webstorm 在运行时调试 javascript

javascript - 错误: .。不是 Backbone 中的构造函数

python - wxPython:鼠标右键单击不设置焦点