2011-06-18 87 views
0

所以我不斷收到錯誤「對象不支持此屬性或方法」。我可以讓菜單向下滑動,但當鼠標離開菜單時我無法滑動。 (#suggestions)jQuery slideUp問題

這裏是我的代碼:(jQuery的1.6)

<script type="text/javascript"> 
function lookup(inputString) { 
    if(inputString.length == 0) { 
     // Hide the suggestion box. 
     $('#suggestions').hide(); 
    } else { 
     $.post("rpc.php", {queryString: ""+inputString+""}, function(data){ 
      if(data.length >0) { 

       $('#suggestions').slideDown('slow'); 
       $('#autoSuggestionsList').html(data); 

     // slideUp on mouseleave 
     $('#suggestions').mouseleave(function() { 
     $('#suggestions').slideUp('slow'); 
     }); 

      } 

     }); 

    } 

} // lookup 


function fill(thisValue) { 
    $('#inputString').val(thisValue); 
    setTimeout("$('#suggestions').hide();", 200); 
} 

+1

這些函數是如何調用的? –

+0

這是你的所有腳本?而且我看到你在.post()調用中有綁定事件 - 你想在這裏完成什麼? – kinakuta

回答

1

你是在一個現成的處理程序包裝這個代碼?

$(function(){ 
    // all your stuff in here so all the elements you select exist before you assign handlers to them 
}); 

如果不是,您可以得到不一致的結果,具體取決於您放置腳本的位置。

編輯實際上,這對你的情況無關緊要,因爲你只是在這裏定義函數。

+0

我最終把它放在了我的腳本的頂部,現在它似乎工作。 '$(文件)。就緒(函數(){ // 淡出建議框時不活躍 $( 「#建議」)。鼠標離開(函數(){ 的setTimeout(「$('#建議')。slideUp('slow');「,200); }); }); ' – Ryan

+0

這很有道理 - $(document).ready(function()基本上是一樣的東西 - 我所展示的版本只是簡寫,然後,而不是隻定義函數綁定到mouseleave事件,事件觸發,而不是不得不調用函數明確性。 – kinakuta