jquery
  • class
  • 2015-10-13 97 views 1 likes 
    1

    我有一個按鈕,它將運行以下查詢。我可以看到glyphicon-minus圖標。如果我點擊它,我不會看到任何事情發生。什麼show_hide不觸發點擊功能?

    var $newpage = $("<div class='page edit' id='divPage_" + pageID + "' style='display: block;'><a href='#' class='show_hide'><span class='glyphicon glyphicon-minus'></span></a> <span class='page title edit' id='" + pageID + "'>" + pageName + "</span><div class='section new' style='display: block;'><span class='section title new' id='-1'>New Section</span></div></div>"); 
    $newpage.insertBefore($(selection)); 
    
    $('.show_hide').click(function (e) { alert('a'); } 
    
    +1

    試試'$(document).on('click','。 show_hide',函數(e){...',讓我知道這是否有效 – Tushar

    回答

    0

    由於這是您在頁面加載後添加的內容,您希望使用事件代理。像下面這樣的東西應該工作:

    $(selection).parent().on('click', '.show_hide', function(e) { 
        alert('a'); 
    }); 
    

    或者,新元素不在DOM樹太深:

    $(document).on('click', '.show_hide', function(e) { 
        alert('a'); 
    }); 
    

    event delegation

    $(document).on(events, selector, data, handler);  // jQuery 1.7+ 
    
    0

    在jQuery的部分試試這個

    $('document').on('click', '.show_hide', function (e) { 
        e.preventDefault();alert('a'); 
    }); 
    
    相關問題