use*_*307 6 javascript javascript-events knockout.js
我是淘汰赛的新手.我希望每次文本框内的文本更改时都调用一个函数.我研究了abit并实现了keyup,keydown和keypress但它们没有正常工作.如果有人可以给我一个解决方案,或者请将我重定向到一些对我的方案有帮助的文档.如果有关于淘汰赛Js中可用的所有事件(内置和自定义)的某种文档,那将非常有用.
具体问题:
data-bind="value: targetProp, event:{keyup: $parent.changeProp}"
Run Code Online (Sandbox Code Playgroud)
并在Js:
Inside parent:
this.changeProp = function () {
if (condition..) {
do something...
}
}
Run Code Online (Sandbox Code Playgroud)
它不适用于密钥.对于简单的解决方案,请给我一些能够提醒文本框内写入的字符串长度的内容(在每个输入和删除的文本上).提前致谢.
您可以使用valueUpdate:'afterkeydown',在用户开始输入字符时立即更新您的视图模型.
data-bind="value: targetProp, valueUpdate: 'afterkeydown'"
Run Code Online (Sandbox Code Playgroud)
您还可以手动订阅更改。
\n\n确保 targetProp 是可观察的,并且在构建父级时,手动订阅更改:\xc2\xa0
\n\nparent.targetProp = ko.observable(originalValue);\n\nparent.targetProp.subscribe(function(newValue) {\n alert("The new value is " + newValue);\n});\nRun Code Online (Sandbox Code Playgroud)\n\n编辑:对于选项绑定:
\n\n<select data-bind="options: myObservableArray, value: selectedValue"></select>\nRun Code Online (Sandbox Code Playgroud)\n\n在js中:
\n\nself.selectedValue = ko.observable();\nRun Code Online (Sandbox Code Playgroud)\n\n然后:
\n\nself.selectedValue.subscribe(function(newValue) {\n alert("The new value is " + newValue);\n});\nRun Code Online (Sandbox Code Playgroud)\n