2013-02-08 67 views
0

我有一個問題:我使用的引導和基因敲除和我有typeheads一個自定義的方法:定製淘汰賽處理器不能與火狐合作5

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和鉻,但它不適用於Firefox 5(例如)。什麼,我想:所有的提示應該向您展示您點擊跨度後

+0

你能創建一個小提琴? – delixfe 2013-02-08 20:24:00

回答

0
-  var span = $(element.parentElement).children("span"); 
-  if (span.length > 0) { 
-   span[0].onclick = function() { 

+  var span = element.nextElementSibling; 
+  if (span) { 
+   span.onclick = function() { 

$(element.parentElement)。兒童(「跨度」)在Firefox 5返回空數組,所以我已經用新的取代了這3條線。