从文本框中删除Twitter Typeahead

时间:2013-06-24 21:09:57

标签: javascript typeahead typeahead.js

我正在尝试禁用表单上的所有文本框。其中一个盒子上有一个打字头。当我这样做时:

$(#textbox).attr('disabled', true);

它已不再启用,但颜色不会像所有其他文本框在禁用时那样切换。

我相信这是由于推特类型,我想知道是否有办法绕过它。当文本框被禁用时,是否有人知道如何覆盖文本框背景颜色或完全删除预先输入?

我尝试过.unbind().addClass("greyBackground"),但这些似乎都没有。

2 个答案:

答案 0 :(得分:13)

如果您在textarea被禁用时不关心维护typeahead.js功能,则可以像这样销毁类型:

$('#textbox').typeahead('destroy');

这将重置/删除typeahead.js可能已添加的任何属性/样式。如果以后想要添加回typeahead.js功能,可以使用以下命令重新初始化它:

$('#textbox').typeahead({ /* configs */ });

此外,typeahead.js不支持开箱即用的textarea元素,因此除非你使用的是分叉版本,否则你不应该假设typeahead.js会按预期工作。

答案 1 :(得分:1)

在Bootstrap 2.2.2中没有.typeahead('destroy')函数,因此下面的代码会删除它之前绑定的所有侦听器以及它创建的DOM元素。

$('#textbox').off()
        .data('typeahead')
        .$menu
        .off()
        .remove();