次の問題があります。ブートストラップとノックアウトを使用していて、タイプヘッドのカスタムメソッドがあります。
ko.bindingHandlers.typeahead = {
update : function(element, valueAccessor, allBindingsAccessor) {
$(element).typeahead({
source : typeaheadSource[$(element).attr('id')]
});
var span = $(element.parentElement).children("span");
if (span.length > 0) {
span[0].onclick = function() {
var t = typeaheadByElementId[$(element).attr('id')];
if (t.shown == false) {
hideAllTypeaheads();
t.showAll();
} else {
t.hide();
}
};
}
}
};
typeheadSource配列の一部
var typeaheadSource = [];
...
typeaheadSource['buildingWalls'] = [ 'blah', 'ablah', 'cblah-blah'];
...
そして、先行入力のhtmlコード:
<div class='control-group'><label class='control-label' for='buildingWalls'>Материал наружных стен</label>
<div class='input-append'>
<input type='text' class='input-xlarge' id='buildingWalls' data-bind='value:buildingWalls, typeahead: true'> <span class="add-on"><i class="icon-chevron-down"></i></span>
</div>
</div>
これは、firefox 18とchromeの両方で正常に機能しますが、Firefox 5では機能しません(たとえば)。私が取得したいものについて:スパンをクリックした後、すべてのヒントが表示されます