0

一点说明:我正在使用 kendo UI(Telerik)的列表视图控件。在列表视图中编辑字段后,我触发了该控件的更新事件。列表视图控件有一些文本框、下拉列表、复选框和提交按钮。当用户更改某些内容时,理想情况下它应该触发更新但它不进行更新,因为控制无法判断模型是否发生变化。

仅当我在文本框中输入内容并单击文本框外部时,它才有效,即在点击提交之前只做一个 onblur。我不知道为什么会这样,但我需要的是触发焦点事件但处于隐藏模式,以便用户不知道它,但它只是在用户在文本框中输入内容之后发生,以便列表视图控件工作成功地。

我正在尝试像下面那样做,但它会引起用户的注意。用户在提交之前在文本框中输入内容后,如何在隐藏模式下触发焦点?

 function BlurFunc() {
                    debugger;
                    $(this).closest('li').find('.inputField').focus();
                } 
4

1 回答 1

0

如果没有您的代码,不清楚您是否正在使用 MVVM 数据绑定到您的模型,但这可能会有所帮助;来自http://docs.telerik.com/kendo-ui/framework/mvvm/bindings/value

默认情况下,值绑定依赖于 change DOM 事件,该事件在对值已更改的元素进行模糊处理后引发。这意味着当元素失去焦点时,来自 View-Model 的值会更新。data-value-update 属性可用于指定不同的 DOM 事件,例如 keyup 或 keypress。不支持 keydown 事件,因为触发该事件时 DOM 元素值尚未更新。

例如,尝试将 data-value-update="keyup" 作为属性添加到文本框输入元素:

<input data-value-update="keyup" data-bind="value: inputValue" />

这应该在每次按键时更新模型值,而不是等到焦点被移除。

于 2017-06-07T19:18:42.103 回答