簡體   English   中英

jQuery更改類和觸發器

[英]Jquery changing class and trigger

 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <body> <span class="fake_h">Too</span> </body> <script> $('.fake_h').click(function() { $(this).addClass('active_h').removeClass('fake_h'); }) $('.active_h').click(function() { alert() }) </script> 

當我單擊span時,它將刪除類fake_h並添加active_h 但是之后,當我單擊span(class='active_h')它將不起作用。 不要觸發警報或其他任何東西。 誰能解釋為什么它不起作用。

您可以這樣做。

$(document).ready(function(){
    $('.fake_h').click(function(){
       $(this).addClass('active_h');
       $(this).removeClass('fake_h');
    });

    $('body').on("click", '.active_h', function(){ 
       alert('active_h'); 
    });
});

用一些div包裝您的span ,並使用該div class觸發動態添加的class 動態更改標識符需要使用委托事件處理程序。

 $('.yourClass').on("click", '.fake_h', function() { $(this).addClass('active_h').removeClass('fake_h'); }) $('.yourClass').on("click", '.active_h', function() { alert() }) 
 .active_h { text-decoration: underline } 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script> <div class='yourClass'> <span class="fake_h">Too</span> </div> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM