下了一个行号插件,为什么在线编辑的textarea有行号,从服务器端获取的数据却没有行号!!!

zengrui1992 zengrui1992 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
;(function($){
var AutoRowsNumbers = function (element, config){
this.$element = $(element);
this.$group = $('<div/>', { 'class': "textarea-group" });
this.$ol = $('<div/>', { 'class': 'textarea-rows' });
this.$wrap = $('<div/>', { 'class': 'textarea-wrap' });
this.$group.css({
"width" : this.$element.outerWidth(true) + 'px',
"display" : config.display
});
this.$ol.css({
"color" : config.color,
"width" : config.width,
"height" : this.$element.height(),
"font-size" : this.$element.css("font-size"),
"line-height" : this.$element.css("line-height"),
"position" : "absolute",
"overflow" : "hidden",
"margin" : 0,
"padding" : 0,
"text-align": "center",
"font-family": "仿宋"
});
this.$wrap.css({
"padding" : ((this.$element.outerHeight() - this.$element.height())/2) + 'px 0',
"background-color" : config.bgColor,
"position" : "absolute",
"width" : config.width,
"height" : this.$element.height() + 'px'
});
this.$element.css({
"white-space" : "pre",
"resize": "none",
"margin-left" : (parseInt(config.width) - parseInt(this.$element.css("border-left-width"))) + 'px',
"width": (this.$element.width() - parseInt(config.width)) + 'px'
});

}

AutoRowsNumbers.prototype = {
constructor: AutoRowsNumbers,

init : function(){
var that = this;
that.$element.wrap(that.$group);
that.$ol.insertBefore(that.$element);
this.$ol.wrap(that.$wrap)
that.$element.on('keydown',{ that: that }, that.inputText);
that.$element.on('scroll',{ that: that },that.syncScroll);
that.inputText({data:{that:that}});
},

inputText: function(event){
var that = event.data.that;

setTimeout(function(){
var value = that.$element.val();
value.match(/\n/g) ? that.updateLine(value.match(/\n/g).length+1) : that.updateLine(1);
that.syncScroll({data:{that:that}});
},0);
},

updateLine: function(count){
var that = this;
that.$element;
that.$ol.html('');

for(var i=1;i<=count;i++){
that.$ol.append("<div>"+i+"</div>");
}
},

syncScroll: function(event){
var that = event.data.that;
that.$ol.children().eq(0).css("margin-top", -(that.$element.scrollTop()) + "px");
}
}

$.fn.setTextareaCount = function(option){
var config = {};
var option = arguments[0] ? arguments[0] : {};
config.color = option.color ? option.color : "#FFF";
config.width = option.width ? option.width : "30px";
config.bgColor = option.bgColor ? option.bgColor : "#999";
config.display = option.display ? option.display : "block";

return this.each(function () {
var $this = $(this),
data = $this.data('autoRowsNumbers');

if (!data){ $this.data('autoRowsNumbers', (data = new AutoRowsNumbers($this, config))); }

if (typeof option === 'string'){
return false;
} else {
data.init();
}
});
}
})(jQuery)
...全文
评论 3
收藏 已收藏
分享
返回顶部
zengrui1992
JavaScript 87,983 成员 224,681 内容