jquery
  • class
  • 2015-10-13 81 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'); 
    }); 
    
    相关问题