我有一个输入,我绑定了Twitter Typeahead插件,并为每个建议返回一个模板。该模板包含一个标签,其中包含指向facebook / twitter / homepages等的链接,因此我想区分建议本身的选择或该建议中包含的链接。
我有一个适用于Chrome / IE的解决方案:
$(typeahead).on('typeahead:selected',(obj, datum) => {
if ($(event.target).attr("class").indexOf("typeaheadlink") === -1) {
Redirect(datum.entityType + "-view/" + datum.id);
}
})
这基本上会检测单击的元素是否具有typeaheadlink
类,如果不是,则不会重定向到我们系统中的该记录,只需打开选项卡并浏览到外部资源。
但是,Firefox不会像here那样识别window.event
,因此我需要另一种解决方案。通常我会将事件作为参数传递给函数,但插件不允许这样做。
如果不修改插件,还有另一种方法吗?