2015-01-16 4 views
1

У меня есть HTML-строки, как этотalertify заставляет меня нажать дважды

<div class="wsdRow"> 
     <div class="ib swsLbl">(new)</div> 
     <div class="ib swsLbl"><input type="text" class="wsd"></div> 
     <div class="ib swsLbl"><input type="text" class="wsAmount numbersOnly"></div> 
     <div class="ib swsLbl"> 
     <button class="saveWC">save</button> 
     <button class="delWC">-</button> 
     <div class="wcResult ib"></div> 
     </div> 
     <div class="clr"></div> 
</div>  

<div class="wsdRow"> 
     <div class="ib swsLbl">(new)</div> 
     <div class="ib swsLbl"><input type="text" class="wsd"></div> 
     <div class="ib swsLbl"><input type="text" class="wsAmount numbersOnly"></div> 
     <div class="ib swsLbl"> 
     <button class="saveWC">save</button> 
     <button class="delWC">-</button> 
     <div class="wcResult ib"></div> 
     </div> 
     <div class="clr"></div> 
</div>  

тогда я связываю кнопку удаления, как так

$(".delWC").click(function(){ 
     var ths=$(this).parent().parent(".wsdRow");     
      alertify.confirm("are you sure you want to delete this row?", function (e) { 
       if (e) { 
          $(ths).remove();            
       } 
      });    
}); 

по какой-то причине, я должен нажать дважды alertify.confirm , В первый раз, когда пользователь нажимает «ok», строка удаляется, как ожидалось, но предупреждение остается, пока они не нажмут. Если они нажмут «отменить», им все равно нужно сделать это дважды, иначе оно не исчезнет.

+2

Похоже, вы разместили свой код в какой-то другой код, который работает в два раза, следовательно, связывание обработчика событий дважды? – adeneo

+0

Я думаю, что вы на что-то. Каждый раз, когда я динамически добавляю строку, мне нужно снова вызвать привязку, поэтому я просто unbound .delWC, прежде чем вызывать связывание каждый раз, и это сработало. благодаря – Shawn

ответ

1

Попробуйте использовать этот

$('[id^=alertify]').remove(); 
Смежные вопросы