内容可编辑分区-在.html()之后更新光标位置
Content Editable Div - Update cursor position after .html()
使用一个可编辑内容的div,我想突出显示符合特定条件的单词。其中之一是用户输入的内容是否达到了该区域允许的最大长度。
我已经有了一些工作——但一旦达到阈值,光标位置就会重置回起始位置(用户实际上是在反向输入!)。
我需要这个在IE8+中工作。
有没有办法得到这个位置,并将其恢复到我更换该区域内容之前的位置,或者我的想法完全错误了?
感谢
JS Fiddle:http://jsfiddle.net/vfgLjf0c/
$(document).on("keypress", "div#editableContent", function(e) {
var element = $(this);
// KEYUP
if (e.type == "keypress") {
var curLen = element.text().length;
var maxLen = element.attr("data-maxlength");
if (curLen > maxLen) {
var overHang = element.text().substr(maxLen);
overHang = "<em style='background: #fcc;'>" + overHang + "</em>";
var newString = element.text().substr(0, maxLen) + overHang;
$(this).html(newString);
}
}
});
更新回答了我自己的问题-请参阅下文。
EDIT用户已在此处解决此问题:https://stackoverflow.com/users/2159246/alan0xd7
解决方案:https://stackoverflow.com/a/31498234/1266457
相关文章:
- Bookshelf.js,在fetchAll()方法之后更新
- jQuery Slider/Carousel 在 DOM 之后更新内容
- 在arr.splice()之后更新变量
- 我需要一些关于PHP的帮助,并在“?”之后更新URL
- 在 jQuery UI Sortable 之后更新 CollectionView 内容的最佳方式
- 在成功调用ajax之后更新引导popover的内容
- 在“ac change”之后更新“acute.select”列表
- 在jquery.load()之后更新dom
- 如何在不刷新页面的情况下在AjaxCall之后更新HighSlide内容
- $http之后更新多个控制器中的作用域
- 在每一步/单击之后更新引导程序日期时间选择器
- 指令不会在父作用域的$http response之后更新作用域
- Angular 2:在valueChanges之后更新FormControl验证器
- 在使用jquery或ajax更新表之后更新输入表单
- 如何让Angular在ajax get之后更新集合
- 内容可编辑分区-在.html()之后更新光标位置
- 如何在jQuery .load()之后更新DOM
- 如何在一个很长的HTTP请求之后更新DOM,而不用在Angular中使用$scope
- AngularJS如何在事件监听器之后更新视图/作用域
- 在持久性烬之后更新dom