2011-11-29 86 views
0

當單擊文本'view more'時,我使用下面的腳本刷新div。該div從rotate.php文件加載一堆隨機圖像。由於某種原因,我已經應用的jquery懸停效果在div被刷新後不再有效。我曾嘗試將jquery懸停腳本添加到rotate.php文件,但這會停止正在工作的刷新腳本...:S有沒有人有關於如何解決此問題的任何想法? :)jQuery刷新停止jQuery從工作中懸停

<div class="headingtext"> 
<script type='text/javascript'> 
$(function() { 
    $("#refresh").click(function(evt) { 
    $(".feature").load("rotate.php") 
    evt.preventDefault(); 
    }) 
}) 
</script><a id="refresh" href="#">View More</a> 
     </div> 

     <div class="feature"> 
      <?php include('rotate.php') ?> 
     </div> 

jQuery的我已經申請到的圖像,但刷新後停止工作:

$(document).ready(function(){ 
$(".feature img").hover(function() { 
    $(this).stop().animate({opacity: "0.5"}, 'slow'); 
}, 
function() { 
    $(this).stop().animate({opacity: "1"}, 'slow'); 
}); 
}); 

的PHP(rotate.php):

<?php 
$random = "random.txt"; 
$fp = file($random); 
shuffle($fp); 
$keys = array_rand($fp, 3); 
for ($i = 0; $i < 3; $i++): 
$rl = $fp[$keys[$i]]; 
echo $rl; 
endfor; 
?> 

回答

2

您必須使用on函數(http://api.jquery.com/on/

替換:

$(".feature img").hover(function() { 

通過

$(".feature img").on("mouseover", function() { 
+0

謝謝〜! :D on函數實際上並不適用於我,所以我只會暫時使用live :) – Jess

+0

函數「on」已添加到1.7版中;) – TeChn4K

2

除了什麼TeChn4K說

  1. 你應該同時使用了mouseenter和鼠標離開(或分別鼠標懸停和鼠標移開)來處理這兩個事件
  2. 與jQuery開始1.7你應該切換到使用.on()而不是.live()...現場將在不久的將來棄用
+0

認真?! Live將被棄用?我不知道「on」函數 – TeChn4K

+0

要小心如何使用.on()它必須綁定到「當前存在且在文檔樹中更高的元素」。 I.E.您需要將處理程序與.on()綁定到當事件冒泡時將被遍歷的元素。通常你會選擇「文檔」,因爲它總是通過冒泡事件來達到。 $(document).on(「mouseover」,「SELECTOR HERE」,function(e){...}); – devnull69