将挖空值绑定到 HTML5 日期选取器 (Chrome)
Knockout value binding to HTML5 date picker (Chrome)
我注意到在与HTML5日期输入的Knockout绑定中,每当在控件中键入时按下键时,绑定就会触发。这与常规<input type="text"/>
框相反,在常规框中,该值仅在焦点丢失或按 Enter 时导致可观察量更新。
我相信默认情况下 Knockout 使用的是 change 事件,因此对于一个简单的例子来说明在没有 Knockout 的情况下它是如何表现的,我在这里制作了一个小提琴 (http://jsfiddle.net/qm282xdm/(。
您可以看到,在您失去焦点或按 Enter 之前,输入文本框不会触发更改事件,但是如果您在<input type="date"/>
中键入新日期,则每次击键都会导致触发更改事件。
这是应该这样表现的吗?文本与日期输入的不同行为有点违反直觉。我运行的是 Chrome 版本 34.0.1847.116,我感觉旧版本的行为更像我预期的,但我不能确定。
编辑:我想知道这是Chrome的问题还是"设计使然"。更改事件的触发在文本类型输入上很直观,我希望它与日期类型输入相同。在没有任何关于如何解决此问题的想法的情况下,我将编写一个在我预期的情况下触发的自定义绑定。
目前还不清楚你在寻找什么样的答案。如果问题只是"它应该以这种方式行事吗?"那么答案是"是的"。"为什么?"的答案不太清楚。
如果要使它们更加一致,可以使用 textInput
绑定而不是 value
绑定,这可确保从文本框绑定获取即时更新。或者,对于旧版本的挖空,请使用value
绑定valueUpdate: 'afterkeydown'
。
相关文章:
- Chrome WebKitGetUserMedia
- JQueryhide()不适用于Mozzilla,但适用于Chrome
- 在chrome.tabs.onCreated之后加载HTML页面
- chrome扩展中的navigator.geolocation.getCurrentPosition
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- chrome扩展更改主机/域警告
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 如何在chrome扩展中重定向到html页面
- Chrome扩展没有't在重新加载之前考虑期权价值
- Google/html5语音识别JavaScript SDK Chrome网络工具包SpeechRecognition
- 激活chrome上的chrome.notifications对象
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- JS可以在Chrome中工作,但不能在Firefox中工作
- Chrome加载旧版本的Javascript文件
- 试图阻止Chrome通过扩展关闭
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 在 Edge 和 Chrome 中使用标准日期选取器时,更改输入字段的文本颜色
- 将挖空值绑定到 HTML5 日期选取器 (Chrome)