Javascript KnockoutJS绑定到div作为I';我在文本区打字
在Knockout中,是否可能在页面上的文本区域和DIV之间有一个“实时”绑定,每次文本区域的内容发生变化时(每个字符)都会更新DIV? 我在我的视图模型上使用了一个计算字段,但它不会更新DIV,除非我在textarea上进行了tab关闭:是否可以在每次更改时立即更新它,而不必关闭tab 代码Javascript KnockoutJS绑定到div作为I';我在文本区打字,javascript,asp.net,knockout.js,Javascript,Asp.net,Knockout.js,在Knockout中,是否可能在页面上的文本区域和DIV之间有一个“实时”绑定,每次文本区域的内容发生变化时(每个字符)都会更新DIV? 我在我的视图模型上使用了一个计算字段,但它不会更新DIV,除非我在textarea上进行了tab关闭:是否可以在每次更改时立即更新它,而不必关闭tab 代码 函数EditModel(){ this.CommentTextPlain=ko.可观察(“”); var self=这个; this.CommentReady=ko.computed(函数(){ 返回se
函数EditModel(){
this.CommentTextPlain=ko.可观察(“”);
var self=这个;
this.CommentReady=ko.computed(函数(){
返回self.CommentTextPlain().replace(regex,“
”);
});
}
函数ApplyViewmodel(){
model=新的EditModel();
applyBindings(model,document.getElementById(“主容器”);
}
值绑定有一个名为valueUpdate
的附带选项,您可以将该选项设置为包含其他事件,如:
data-bind="value: CommentTextPlain, valueUpdate: 'afterkeydown'"
使用
valueUpdate
绑定
请参见“附加参数”部分
价值更新
如果绑定还包括一个名为valueUpdate的参数,则
定义KO应用于检测更改的其他浏览器事件
除了变化事件。以下字符串值是最重要的
常用的选择:
- “keyup”-在用户释放密钥时更新视图模型
- “按键”-当用户键入键时更新视图模型。 与keyup不同的是,它会在用户按住键时重复更新
- “afterkeydown”-用户一开始就更新视图模型 键入字符。这是通过捕捉浏览器的keydown事件来实现的 以及异步处理事件。在这些选择中
- 如果要保留视图模型,“afterkeydown”是最佳选择 实时更新
Knockout有一个
textInput
绑定,该绑定可以实现即时模型更新,而无需对值绑定使用其他参数,同时还可以处理剪切和粘贴以及文本拖动事件
以下是指向textInput绑定文档的链接:
data-bind="value: CommentTextPlain, valueUpdate: 'afterkeydown'"