我看過很多關於這方面的文章,但都沒有涉及jQuery,所以我在這裏......我正在將http://javascript-array.com/scripts/jquery_simple_drop_down_menu/的一個腳本版本實現到現有的應用程序中;但是,如果不添加alert('msg ...')作爲$(document).ready()調用中的第一個方法,我無法使其工作。jQuery驅動的應用程序。 ()
這似乎與加載時間沒有任何關係......無論等待多久,菜單都不起作用。 setTimeout()也不起作用。然而,添加alert(),它就像一個魅力。我也可以通過Firebug正確執行綁定。
var timeout = 500;
var closetimer = 0;
var ddmenuitem = 0;
function jsddm_open()
{ jsddm_canceltimer();
jsddm_close();
ddmenuitem = $(this).find('ul').css('visibility', 'visible');}
function jsddm_close()
{ if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');}
function jsddm_timer()
{ closetimer = window.setTimeout(jsddm_close, timeout);}
function jsddm_canceltimer()
{ if(closetimer)
{ window.clearTimeout(closetimer);
closetimer = null;}}
$(document).ready(function()
{ $('#jsddm > li').bind('mouseover', jsddm_open)
$('#jsddm > li').bind('mouseout', jsddm_timer)});
document.onclick = jsddm_close;
我完全忘了$ .live()。這也起作用(並且更清潔)! – 2010-03-18 15:48:27