【发布时间】:2015-05-13 16:50:33
【问题描述】:
我在搜索类型的输入上有一个事件绑定,这是为了在服务器端触发搜索并在用户键入时填充列表。
那部分很好,我已经使用纯javascript建立了一个骨架示例,当需要集成到淘汰赛中时,我遇到了一个奇怪的问题。
我的 HTML 中有标准绑定:
<input data-bind="event:{keypress:ring}" type="text" />
对于这个例子,我的铃声功能会在按键被按下时简单地记录一些东西:
ring: function (event) {
this.triggered(this.triggered() + 1);
var msg = "Keypress binding called " + this.triggered() + " time(s).";
console.log(msg);
}
这都是正常的,没问题..
问题是输入值/字符串没有被更新。它只是保持空白,就像我没有按下任何东西一样。
我很好奇我是否错过了我应该做的某种默认转发?这是预期的行为吗?对我来说似乎有点奇怪。
这里有一个工作示例:JSfiddle
当您输入输入时,除了我的 ring 函数之外什么都没有发生。
【问题讨论】:
-
你试过什么?你能对你的问题做一个简化的 JSFiddle 吗?您需要使用 KnockOut 吗?可能重复?
标签: javascript html knockout.js data-binding