4

我在将简单的登录表单绑定到模型时遇到问题。Stickit 无法识别“自动填充”事件,因此视图与模型不同步。

html非常简单:

<form>
    <input id="username" type="text"/>
    <input id="password" type="password"/>
</form>

视图将使用空模型初始化并绑定在渲染函数中。这是代码的摘录:

bindings: {
    '#username': 'username',
    '#password': 'password'
},

...

initialize: function () {
    this.model = new Backbone.Model();
}

...

render: function() {
    this.stickit();
}

$('username').val()如果我通过调用函数来检索值initialize,我会得到正确的自动填充值。

有谁知道这个问题的解决方案?

我没有在 git 存储库中创建问题,因为我不确定我是否做错了什么并且自动填充开箱即用。

提前致谢!

4

2 回答 2

1

Stickit 目前不支持浏览器自动填充。这是 GitHub 问题: https ://github.com/NYTimes/backbone.stickit/issues/168

于 2014-04-08T21:45:57.293 回答
1

关于浏览器或插件如何神奇地将输入字段填充到自动填充上,似乎没有标准化;似乎在大多数情况下不会发出更改事件,因此模型将与视图不同步。在保存登录模型之前,我们执行以下操作:

this.$('input').change();

基本上,在任何输入上强制触发更改事件,以便为字段执行更改处理程序,之后模型应该与视图匹配。

于 2014-10-04T20:03:28.377 回答