2015-08-14 201 views
0

早上好,jQuery沒有運行,沒有錯誤信息。語法錯誤?

jsbin附:http://jsbin.com/kasofufuni/edit?html,css,js,console,output

我試圖做一個簡單的顯示/隱藏功能。我已經減少了你在上面的代碼中可以看到的內容,但某種語法錯誤導致它不能運行或發生錯誤。我一直在攪拌它幾個小時。有任何想法嗎?

我得到它在控制檯中一次工作,但我一直無法重現。

$(document).ready(function(){ 
    $('nav#global').prepend('<span id="menu-icon">Menu</span> <span id="search-icon">Search</span>'); 

}); 

$('#menu-icon').on('click',function(){ 
    $('nav#global').prepend('You clicked it'); 
}); 
+1

請在此頁面添加代碼,而不是外部網站 –

+0

修復它。 ...... – SH56

回答

1

點擊事件代碼之外的的document.ready所以它運行之前的元素存在

更改爲:

$(document).ready(function(){ 
    $('nav#global').prepend('<span id="menu-icon">Menu</span> <span id="search-icon">Search</span>'); 


    $('#menu-icon').on('click',function(){ 
     $('nav#global').prepend('You clicked it'); 
    }); 

}); 

代碼,因爲元素存在,那麼

將運行在控制檯罰款
0

如果您不想將代碼包含在您的document.ready函數中,則可以使用一些事件代理:

$(document).on('click', '#menu-icon', function(){ 
    $('nav#global').prepend('You clicked it'); 
});