【问题标题】:How to check whether selected range made across the paragraph or not?如何检查所选范围是否跨段落?
【发布时间】:2016-04-11 05:19:06
【问题描述】:

我正在开发一个 e_pub 阅读器 ios 应用程序。为了突出显示选定的文本,我在选定文本后调用 javascript,方法是用 span 标签包围选定的文本。我的问题是选择发生在段落内,高亮发生,如果它在段落中进行,则由于中间<p> 标签而不起作用。如何检查所选范围是否有任何html标签?

【问题讨论】:

  • 你需要使用正则表达式来搜索内容中的html标签
  • 但是当我通过范围时,它只包含 text 。所以正则表达式验证失败。功能有效高亮(高值){警报(高值); var 正则表达式 = /(]+)>)/ig;返回 regex.test(highvalue); }
  • tanq @Wellwisher。最后我通过“\n”的正则表达式匹配修复。所选内容仅收到“\n”而不是任何 html 标签

标签: javascript ios xcode epub


【解决方案1】:

您可以删除内容中的所有 html 标签,而不是搜索。只需使用 jquery

var content = "<div>This Text contains <p> Some P tags</p> and <span> span tag </span></div>";
console.log($(content).text());

这样您就可以删除所有标签并使用 span 包裹您的内容,然后应用高亮显示。

【讨论】:

  • 正如我上面提到的,它是一个 epub 阅读器。所以用户只需拖放并单击突出显示。如果选择超出段落,跨度不起作用..到目前为止我观察到我没有收到 HTML 标签标签..
猜你喜欢
  • 2019-11-21
  • 1970-01-01
  • 2012-09-27
  • 1970-01-01
  • 1970-01-01
  • 2011-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多