2013-08-19 67 views
0

發送Ajax請求併成功後。 jquery.hover()不適用於頁面的新部分。ajax成功後,Javascript不起作用

有沒有辦法重新加載腳本,而無需通過另一個Ajax請求重新加載div,以便它可以與頁面的新部分一起使用。

+0

你能給你想要的時候阿賈克斯成功做什麼更多的細節.. –

+0

添加內容,然後讓這些內容以響應與已加載之前,頁面上的JavaScript代碼ajax .. – Brian

回答

2

不能使用動態元素hover(),因爲它不是一個事件處理程序,您需要使用委派事件處理mouseentermouseleave事件

.hover()是使用了mouseenter和鼠標離開手短,但它將處理程序附加到只有那些出現在DOM在

$(document).on('mouseenter', '<selector>', function(){ 
    //do something 
}).on('mouseleave', '<selector>', function(){ 
}) 
+0

將CSS懸停在OP的情況下工作? – rps

+0

@rps是的,它會... –

0

你可能已經添加了懸停動作執行

前的時間這些元素$(document).ready();由於新頁面內容在頁面加載時並不存在,因此必須在通過ajax更新新內容後重新綁定懸停操作。

+0

我將如何實現這個到多個相同類的盒子? – Brian

+0

使用一個普通的類。即class ='someClass'。所以在div更新後,綁定在選擇器$(「。someClass」)上。因此,所有帶有「someClass」類的框都將與該動作綁定。 –

0

由於新的部分是動態添加的,所以jquery懸停不起作用。

試試這個

$(document).on('mouseenter', 'selector', function(){ 
     // Code to perform on mouse enter 
}).on('mouseleave', 'selector', function(){ 
     // code to perform on mouse leave (This is optional) 
})