0

要素がクリックされたときにクラスを追加しようとしています。次に、そのクラス要素を使用して特定のアクション (たとえばアラート) を実行したいと考えています。

しかし、ここでクリック関数の外で新しいクラスを使用すると機能しないようです:

<script type="text/javascript">
    $(document).ready(function(){                      
        $(".notactive").click(function() {  
            $(this).addClass("active");      
        });

        $(".active").hover(function(){
            alert("Hello");
        }); 
    }); 
</script>

ここで、クリック関数内に配置すると、次のように機能します。

<script type="text/javascript">
    $(document).ready(function(){             
        $(".notactive").click(function() {  
            $(this).addClass("active");
            $(".active").hover(function(){
                alert("Hello");
            });           
        });
    });
</script>

関数の外にある場合の使用方法は?

4

1 に答える 1

5

document.ready の後にクラスを追加し、document.ready でイベントをバインドしているため、 onを使用して、document.ready の後にイベントをバインドするためのセレクター基準を満たすと想定される要素にイベントを登録する必要があります。document.ready では、クラスがアクティブな DOM 内の要素にイベントがバインドされます。

$(document).ready(function(){

     $(".notactive").click(function() {  
          $(this).addClass("active");      
     });

     $(document).on("mouseover mouseout", ".active", function(){
          alert("rwgweg");
     }); 
});
于 2013-01-30T09:23:38.927 に答える