剔除内容可编辑自定义绑定
为什么在这个例子中 http://jsfiddle.net/JksKx/8/ div 在我写入文本时丢失了光标?如何纠正这种行为?
Why in this example http://jsfiddle.net/JksKx/8/ div lost cursor when i write text? How to fix such behavior?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
keyup 事件正在触发并写入您的视图模型,然后触发自定义绑定的更新功能。这会将innerHTML 写回元素,这会导致您失去焦点。
一个简单的解决方法是检查 update 函数中 element.innerHTML 是否已经与您想要设置的值相同。
http://jsfiddle.net/rniemeyer/JksKx/9/
The keyup event is firing and writing to your viewmodel, which then triggers the update function of the custom binding. This is writing the innerHTML back to the element, which is causing you to lose focus.
An easy fix is to check in the update function if the element.innerHTML already is the same as the value that you want to set it to.
http://jsfiddle.net/rniemeyer/JksKx/9/
可能想将 keydown 更改为 keyup,但除此之外效果非常好 =)
might want to change keydown to keyup, but other than that works really well =)