首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pixabay jQuery autoComplete转义问题

Pixabay jQuery autoComplete转义问题
EN

Stack Overflow用户
提问于 2016-09-01 13:39:57
回答 2查看 282关注 0票数 2

我问了repo的问题,但没有得到答案。https://github.com/Pixabay/jQuery-autoComplete/issues/65

报价列在下拉列表中。但当被选中时,我会遇到引用的问题(如gif中所示)。我甚至不知道它是如何添加到代码中的文本输入中的。我在JS还不够强。

我不能证明在这里粘贴脚本中的所有代码是合理的。我希望有人能快速地看一看repo,并为我指明正确的方向。

这是对其初始字符串进行转义的地方

代码语言:javascript
复制
    renderItem: function (item, search){
        // escape special characters
        search = search.replace(/[$-\/?[-^{|}]/g, '\\$&');
        var re = new RegExp("(" + search.split(' ').join('|') + ")", "gi");
        return '<div class="autocomplete-suggestion" data-val="' + item + '">' + item.replace(re, "<b>$1</b>") + '</div>';
    },

我不知道它是从那里开始的,它是如何添加到文本输入中的?怎样才能让它再次逃脱。

我知道我问得太多了,我花了一天的时间试图弄清楚,但我明天会再回来的。希望有人能抽出5分钟的时间来看看,帮助这个痛苦的新手。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-02 12:57:46

我自己修好了,我敢肯定是马马虎虎。

代码语言:javascript
复制
return '<div class="autocomplete-suggestion" data-val="' + item.replace("\"", "&quot;").replace("'", "&apos;") + '">' + item.replace(re, "<b>$1</b>") + '</div>';
票数 1
EN

Stack Overflow用户

发布于 2016-09-01 13:52:13

如果您使用的是jQuery,可以使用此函数:

$(selector).text(notEscapedText)

在您的案例中:

代码语言:javascript
复制
renderItem: function (item, search){
    return $('<div class="autocomplete-suggestion" data-val="' + item + '">').text(search);
},

或者:

代码语言:javascript
复制
renderItem: function (item, search){
    var $value = $('<b>').text(search);

    return $('<div>')
        .addClass('autocomplete-suggestion')
        .data('val', item)
        .append($value);
},
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39263461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档