2017-04-27 78 views
1

我使用Twitter Typeahead(该v0.10.5 typeahead.bundle.jshere)和Handlebars v4.0.6。Twitter的突出事先键入的内容

除了突出显示字样的以外,所有内容都按预期工作(我可以搜索我的数据集和自动填充作品)。你可以看到这个应该出现的例子here

我的代码如下。

var books = new Bloodhound({ 
    datumTokenizer: Bloodhound.tokenizers.obj.whitespace('title'), 
    queryTokenizer: Bloodhound.tokenizers.whitespace, 
    limit: 10, 
    prefetch: { 
     url: 'books.json', 
     ttl: 0, 
     filter: function(list) { 
      return $.map(list, function(book) { 
       return { 
        title: book.title, 
       }; 
      }); 
     } 
    } 
}); 

$('.demo .typeahead').typeahead({ 
    hint: false, 
    highlight: true, // <-- this doesn't work 
    minLength: 1 
}, { 
    name: 'books', 
    displayKey: 'title', 
    source: books.ttAdapter(), 
    engine: Handlebars, 
    templates: { 
     empty: ['<div class="empty-message">', 'no results found', '</div>'].join('\n'), 
     suggestion: Handlebars.compile('<p>{{{title}}}</p>') 
    }, 
}); 

我不认为这是一个CSS问题,因为我删除了所有的CSS,仍然没有突出显示。

我已经试过typeahead(v0.11.1)的最新版本,但这没有什么区别。

任何帮助表示赞赏。

+0

看起来你可能需要添加'.TT光标{ 颜色:#f1b218; }'到你的CSS?给出一个去吧 –

+0

@TobyMellor实际上是有效的!这么简单,我花了(浪费)这么久,谢谢!添加一个答案;) –

+0

没问题!我会发布一个答案 –

回答

1

看来很多人都有问题没有指定所需的参数minLength: x

就你而言,你已经做到了。问题是,你需要添加以下的CSS

.tt-cursor { 
    color: #f1b218; 
} 
相关问题