一点说明:我正在使用kendo UI(Telerik)的列表视图控件。我在编辑列表视图中的字段后触发该控件的更新事件。列表视图控件有一些文本框,下拉列表,复选框和提交按钮。当用户改变某些东西时,理想情况下它应该触发更新,但是它没有进行更新,因为控件无法判断模型是否有变化。
只有在文本框中输入内容并且只需单击文本框外部即可,只需在执行提交之前执行onblur即可。我不知道它为什么会发生,但我需要的是只是触发一个焦点事件,但是在一个隐藏模式下,以便用户不知道它,但它只是在用户输入文本框中的内容后发生,以便列表视图控件工作成功。
我正在尝试像下面这样做但它会被用户注意到。在用户在点击提交之前在文本框中输入内容之后,如何在隐藏模式下触发焦点?
function BlurFunc() {
debugger;
$(this).closest('li').find('.inputField').focus();
}
答案 0 :(得分:0)
没有你的代码,你不清楚你是否使用MVVM数据绑定到你的模型,但这可能会有所帮助;来自http://docs.telerik.com/kendo-ui/framework/mvvm/bindings/value:
默认情况下,值绑定依赖于更改DOM事件,即 模糊了其值已更改的元素后引发。这意味着 当元素丢失时,View-Model的值会更新 焦点。 data-value-update属性可用于指定a 不同的DOM事件,例如keyup或keypress。 keydown事件是 不受支持,因为DOM元素值尚未更新时 该事件触发。
例如,尝试添加data-value-update =" keyup"作为文本框输入元素的属性:
<input data-value-update="keyup" data-bind="value: inputValue" />
然后应该在每次按键时更新模型值,而不是等到焦点被移除。