2013-08-02 85 views
-1

我剛開始學習jQuery。下面是我嘗試爲動態添加的div元素附加事件「mouseover」和「mouseout」的代碼。但是當我嘗試在瀏覽器中運行時,我沒有結果。我不知道什麼是布萊恩錯誤...我打了一個使用和使用jQuery的.on()的語法的搜索和沒有有利的結果..任何人都可以告訴我,如何使我的下面的代碼工作?..爲什麼.on()按預期在jquery中不能正常工作?

<html> 
     <head> 
      <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
      <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script> 
      <script type="text/javascript"> 
      $(function(){ 
       $("#divid").on("mouseover",".test", function(){ 
        $(this).css("background-color", "blue"); 
       }).on("mouseout",".test", function(){ 
        $(this).css("background-color", "white"); 
       }); 
      }); 

      function AddBox(){ 
       var div = $("<div></div>").addClass("test").text("Another box"); 
       $("#divTestArea1").append(div); 
      } 
      </script> 
     </head> 
     <body> 
     <div id="divTestArea1"> 
      <a href="javascript:void(0);" onclick="AddBox();">Add box</a> 
      <div class="test" id="divid">This is a colored box</div> 
     </div> 
     </body> 
    </html> 

在此先感謝... ;-)

回答

3

問題就在這裏,

要添加動態div來#divTestArea1這裏$("#divTestArea1").append(div);

但你委派自己的活動,#divid所以這個搜索012內的div類測試這不在那裏。

試試這個

$("#divTestArea1").on("mouseover",".test", function(){ 
    .... 
    } 

這個問題,你委託給#divTestArea1.test div的鼠標懸停事件..這是我們所需要的..而且應該工作...

+0

OMG ...謝謝你這麼多Bipen ..它工作真棒... !!!!!! – user2622662

+0

歡迎@ user2622662 ..很高興幫助...快樂編碼 – bipen

+1

:我不能張貼我的小提琴,它一直說必須伴隨着代碼..現在我們已經太遲了.. –

相關問題