【问题标题】:Difference in the Knockout.js binding between Chrome/Firefox/Safari vs Internet ExplorerChrome/Firefox/Safari 与 Internet Explorer 之间 Knockout.js 绑定的差异
【发布时间】:2012-08-23 03:15:50
【问题描述】:

我注意到 Knockout.js 可观察绑定在 Chrome/Firefox/Safari 与 Internet Explorer 9 中的工作方式之间存在差异。

我已经在 jsfiddle http://jsfiddle.net/rniemeyer/LkqTU/ 和 Knockout.js 网站 http://knockoutjs.com/examples/helloWorld.html 中尝试过。

在 Internet Explorer 9 中,我必须离开字段才能看到更改,但在 Chrome/Firefox/Safari 中,我只需按 Enter 即可查看更改。

这是它假设的方式还是某处存在错误?我希望它像在 Chrome/Firefox/Safari 中一样。

【问题讨论】:

    标签: knockout.js


    【解决方案1】:

    对于在 IE 中键入时显示的计算值,就像在 Chrome / Safari / FF 中一样,您需要将 data-bind 的 valueUpdate 属性绑定到 afterkeydown,如下所示:

    <div class='liveExample'>   
      <p>First name: <input data-bind="value: firstName, valueUpdate: 'afterkeydown'" /></p> 
      <p>Last name: <input data-bind="value: lastName, valueUpdate: 'afterkeydown'" /></p> 
      <h2>Hello, <span data-bind='text: fullName'> </span>!</h2>  
    </div>
    

    【讨论】:

    • 我在 Safari 中遇到了同样的问题,这解决了它!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    • 2011-08-30
    • 1970-01-01
    • 2017-07-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多