栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

寻找换行

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

寻找换行

这就是我最终使用的(随意批评和复制以作恶用)。

首先,当编辑来自用户时,将其拆分为

$(editableElement).lineText(userInput)

jQuery.fn.lineText = function (userInput) {   var a = userInput.replace(/n/g, " n<br/> ").split(" ");   $.each(a, function(i, val) {       if(!val.match(/n/) && val!="") a[i] = '<span >' + val + '</span>';   });   $(this).html(a.join(" "));};

替换换行的原因是,编辑文本框中填充了

$(editableElement).text()
,它会忽略
<br/>
标签,但出于排版目的,它们仍将更改显示屏中下一行的高度。这不是最初目标的一部分,只是悬而未决的结果。

当我需要提取带格式的文本时,请致电

$(editableElement).getLines()
,其中

jQuery.fn.getLines = function (){   var count = $(this).children(".word-measure").length;   var lineAcc = [$(this).children(".word-measure:eq(0)").text()];   var textAcc = [];   for(var i=1; i<count; i++){      var prevY = $(this).children(".word-measure:eq("+(i-1)+")").offset().top;      if($(this).children(".word-measure:eq("+i+")").offset().top==prevY){         lineAcc.push($(this).children(".word-measure:eq("+i+")").text());   } else {     textAcc.push({text: lineAcc.join(" "), top: prevY});     lineAcc = [$(this).children(".word-measure:eq("+i+")").text()];   }   }   textAcc.push({text: lineAcc.join(" "), top: $(this).children(".word-measure:last").offset().top});   return textAcc;};

最终结果是一列哈希,每个哈希包含内容和一行文本的垂直偏移量。

[{"text":"Some dummy set to","top":363}, {"text":"demonstrate...","top":382}, {"text":"The output of this","top":420}, {"text":"wrap-detector.","top":439}]

如果我只想要无格式的文本,

$(editableElement).text()
仍然会返回

"Some dummy set to demonstrate... The output of this wrap-detector."


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/442168.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号