2017-02-14 3 views
0

У меня есть следующий код. Он выполняет следующие действия:jQuery щелчок не работает на кнопке внутри contenteditable div

При наведении указателя мыши на div, кнопка добавляется к div. По щелчку этого я пытаюсь удалить родительский div. Но событие click на кнопке не запускается. Я подозреваю, что это связано с тем, что родительский div доволен. Можно ли нажать кнопку на кнопку?

$(document).ready(function() { 
 

 
    jQuery(document).on("mouseover", ".mfx-container", function() { 
 
    jQuery(".mfx-container").css("outline", "none"); 
 
    jQuery(this).css("outline", "2px solid #DDE5EC"); 
 
    jQuery(".editor-hover-buttons").remove(); 
 
    jQuery(this).append('<button class="editor-hover-buttons delete-block-button" type="reset">Delete</button>'); 
 

 
    }) 
 
    
 
    jQuery(document).on("click",".delete-block-button",function(){ 
 
      alert("delete"); 
 
      jQuery(this).parent(".mfx-container").remove(); 
 
     }) 
 

 

 
})
.mfx-container { 
 
    min-height: 100px; 
 
    position: relative; 
 
} 
 
.delete-block-button { 
 
    position: absolute; 
 
    top: 10px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div contenteditable="true"> 
 
    <div class="container-fluid mf-wpt1-banner mfx-container"> 
 
    <span class="strong"> Introducing Marketfox!</span> You can now increase conversions on any web page 
 
    </div> 
 
    <div class="container mfx-container"> 
 
    <h2 class="text-center mt30 mb30">Lorem ipsum dolor sit amet</h2> 
 
    <div class="col-sm-6 lh2 mb30"> 
 
     Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus bibendum magna turpis. Aliquam ultricies interdum risus, ut interdum justo imperdiet eget. 
 
    </div> 
 
    <div class="col-sm-6 lh2 mb30"> 
 
     Vivamus in placerat odio. Mauris nec augue vitae est facilisis tincidunt. Donec quis commodo mi, quis porta magna. Sed laoreet id lectus ac interdum. 
 
    </div> 
 
    <div class="col-sm-6 lh2 mb30"> 
 
     Vivamus in placerat odio. Mauris nec augue vitae est facilisis tincidunt. Donec quis commodo mi, quis porta magna. Sed laoreet id lectus ac interdum. 
 
    </div> 
 
    <div class="col-sm-6 lh2 mb30"> 
 
     Vivamus in placerat odio. Mauris nec augue vitae est facilisis tincidunt. Donec quis commodo mi, quis porta magna. Sed laoreet id lectus ac interdum. 
 
    </div> 
 

 
    </div> 
 

 
    <div class="container mfx-container"> 
 
    <div class="col-sm-4 p30"> 
 
     <img class="img-responsive" src="https://placeholdit.imgix.net/~text?txtsize=33&txt=350%C3%97150&w=350&h=150"> 
 
    </div> 
 
    <div class="col-sm-4 p30"> 
 
     <img class="img-responsive" src="https://placeholdit.imgix.net/~text?txtsize=33&txt=350%C3%97150&w=350&h=150"> 
 
    </div> 
 
    <div class="col-sm-4 p30"> 
 
     <img class="img-responsive" src="https://placeholdit.imgix.net/~text?txtsize=33&txt=350%C3%97150&w=350&h=150"> 
 
    </div> 
 
    </div> 
 
</div>

+0

Он отлично работает для меня: https://jsfiddle.net/Laeg2n82/ – Armin

ответ

3

Это потому, что ваша функция добавить много кнопки. Я добавляю переменную для создания только одной кнопки. Пожалуйста, попробуйте

$(document).ready(function() { 
 
    var active =0; 
 
    jQuery(document).on("mouseover", ".mfx-container", function(e) { 
 
    if(active == 0){ 
 
    active =1; 
 
    jQuery(".mfx-container").css("outline", "none"); 
 
    jQuery(this).css("outline", "2px solid #DDE5EC"); 
 
    jQuery(".editor-hover-buttons").remove(); 
 
    jQuery(this).append('<button class="editor-hover-buttons delete-block-button" type="reset">Delete</button>'); 
 
} 
 
    }) 
 
    jQuery(document).on("mouseout", ".mfx-container", function(e) { 
 
    if(active == 1){ 
 
     active =0; 
 
     } 
 
    }) 
 
    
 
    jQuery(document).on("click",".delete-block-button",function(){ 
 
      alert("delete"); 
 
      jQuery(this).parent(".mfx-container").remove(); 
 
     }) 
 

 

 
})
.mfx-container { 
 
    min-height: 100px; 
 
    position: relative; 
 
} 
 
.delete-block-button { 
 
    position: absolute; 
 
    top: 10px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div contenteditable="true"> 
 
    <div class="container-fluid mf-wpt1-banner mfx-container"> 
 
    <span class="strong"> Introducing Marketfox!</span> You can now increase conversions on any web page 
 
    </div> 
 
    <div class="container mfx-container"> 
 
    <h2 class="text-center mt30 mb30">Lorem ipsum dolor sit amet</h2> 
 
    <div class="col-sm-6 lh2 mb30"> 
 
     Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus bibendum magna turpis. Aliquam ultricies interdum risus, ut interdum justo imperdiet eget. 
 
    </div> 
 
    <div class="col-sm-6 lh2 mb30"> 
 
     Vivamus in placerat odio. Mauris nec augue vitae est facilisis tincidunt. Donec quis commodo mi, quis porta magna. Sed laoreet id lectus ac interdum. 
 
    </div> 
 
    <div class="col-sm-6 lh2 mb30"> 
 
     Vivamus in placerat odio. Mauris nec augue vitae est facilisis tincidunt. Donec quis commodo mi, quis porta magna. Sed laoreet id lectus ac interdum. 
 
    </div> 
 
    <div class="col-sm-6 lh2 mb30"> 
 
     Vivamus in placerat odio. Mauris nec augue vitae est facilisis tincidunt. Donec quis commodo mi, quis porta magna. Sed laoreet id lectus ac interdum. 
 
    </div> 
 

 
    </div> 
 

 
    <div class="container mfx-container"> 
 
    <div class="col-sm-4 p30"> 
 
     <img class="img-responsive" src="https://placeholdit.imgix.net/~text?txtsize=33&txt=350%C3%97150&w=350&h=150"> 
 
    </div> 
 
    <div class="col-sm-4 p30"> 
 
     <img class="img-responsive" src="https://placeholdit.imgix.net/~text?txtsize=33&txt=350%C3%97150&w=350&h=150"> 
 
    </div> 
 
    <div class="col-sm-4 p30"> 
 
     <img class="img-responsive" src="https://placeholdit.imgix.net/~text?txtsize=33&txt=350%C3%97150&w=350&h=150"> 
 
    </div> 
 
    </div> 
 
</div>

+1

Я уверен, что OP хочет иметь кнопку удаления для каждого элемента – Armin

+0

Нет кнопку не работает , он хочет удалить разрешенный div –

+0

, он сказал: «Но событие click на кнопке не запускается». –

Смежные вопросы