【问题标题】:mark.js problem jumping to highlighted elementsmark.js 问题跳转到突出显示的元素
【发布时间】:2020-04-10 10:17:59
【问题描述】:

我们使用 mark.js 突出显示文档中的搜索文本并跳转到它们 - 使用来自 http://jsfiddle.net/wy3tbvnq/2/ 的示例。

请搜索:“Lorem ipsum” -> 高亮完美,但跳转到文本片段会跳转到“Lorem”,然后是“ipsum”,然后是“lorem ipsum”。它应该跳转到 Lorem ipsum 和下一个 Lorem ipsum

我的问题是,我们的文本分布在多个跨度标签上。就像<span>lorem</span><span>ipsum</span> 一样,我们搜索 lorem ipsum。与突出显示完美配合,但跳转到搜索文本会导致跳转到“lorem”并跳转到“ipsum”——因为它们都有一个用于突出显示的类。

【问题讨论】:

  • 只是 false js 中的“separateWordSearch”属性,即separateWordSearch: false
  • 在我上面的帖子中添加了一些信息。不知道怎么解决这个问题...
  • 写“突出显示是完美的”,在搜索原因时,在检查小提琴时,突出显示也显示两个词,即“Lorem”、“Ipsum”和“Lorem ipsum”。这意味着高亮显示错误。
  • 哦,我忘记了一些设置:jsfiddle.net/wy3tbvnq/2 现在是正确的...
  • 嗨@anm,我尝试过的每件事(添加属性:准确性:“完全正确”),但是有些问题,您可以查看此链接:-stackoverflow.com/questions/38622653/… 或者您可以直接在mark js博客中提问.

标签: javascript html jquery mark.js


【解决方案1】:

只是错误的属性,检查更新:-jsfiddle link

$content.unmark({
  done: function() {
    $content.mark(searchVal, {
      separateWordSearch: false,  //update this properties
      done: function() {
        $results = $content.find("mark");
        currentIndex = 0;
        jumpTo();
      }
    });
  }
});

`

【讨论】:

  • 但是我在标签中找不到短语 - 但我需要。这是我的示例:jsfiddle.net/86gorcd9(搜索“Lorem ipsum”)
  • 选中,在禁用属性并搜索“Lorem Ipsum”后,它会搜索确切的单词并突出显示。如果我只搜索 Lorem 或 Ipsum,那么它会相应显示。如果启用这些属性,它会将短语分成单词并搜索第一个然后是第二个(不要检查整个单词)。
  • 您能否提供更多描述的示例,说明我们在 text 中输入的内容,然后是您在搜索选项中想要的内容,即第一个,然后是第二个、第三个等。
  • 我们比较接近回答了,可能我理解的不是很清楚。
  • 我想像在我的示例中那样找到 splittet "Lorem ipsum" 和 not splittet "Lorem ipsum"。但是跳转会导致跳转到“Lorem”、“ipsum”(拆分)和“Lorem ipsum”(其他)。我需要找到所有的“Lorem ipsum”(也是拆分的)-我需要跳到整个短语-拆分与否。如果没有正确描述,我很抱歉。
猜你喜欢
  • 2014-02-04
  • 2014-09-15
  • 1970-01-01
  • 1970-01-01
  • 2017-09-26
  • 1970-01-01
  • 2013-11-14
  • 2011-02-21
  • 1970-01-01
相关资源
最近更新 更多