2016-05-29 101 views
0

點擊保存按鈕後,我現在有問題,因爲我仍然可以在點擊時更改表格tr td的樣式。我應該添加什麼來防止點擊保存按鈕後發生這種情況。提前致謝。防止點擊保存按鈕後發生css動作

<div class="kalbox"> 
    <span class="editing">edit</span> 
    <span class="saving">save</span> 
    <div class="kaltext"> 

    <h1>January</h1> 

    <table> 
     <thead> 
     <tr> 
      <th>Sun</th> 
      <th>Mon</th> 
      <th>Tue</th> 
      <th>Wed</th> 
      <th>Thu</th> 
      <th>Fri</th> 
      <th>Sat</th> 
     </tr> 
     </thead> 
     <tr> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td></td> 
     <td><div class="day">1</div></td> 
     <td><div class="day">2</div></td>    
     </tr> 
     <tr> 
     <td><div class="day">3</div></td> 
     <td><div class="day">4</div></td> 
     <td><div class="day">5</div></td> 
     <td><div class="day">6</div></td> 
     <td><div class="day">7</div></td> 
     <td><div class="day">8</div></td> 
     <td><div class="day">9</div></td>    
     </tr> 
     <tr> 
     <td><div class="day">10</div></td> 
     <td><div class="day">11</div></td> 
     <td><div class="day">12</div></td> 
     <td><div class="day">13</div></td> 
     <td><div class="day">14</div></td> 
     <td><div class="day">15</div></td> 
     <td><div class="day">16</div></td>   
     </tr> 
     <tr> 
     <td><div class="day">17</div></td> 
     <td><div class="day">18</div></td> 
     <td><div class="day">19</div></td> 
     <td><div class="day">20</div></td> 
     <td><div class="day">21</div></td> 
     <td><div class="day">22</div></td> 
     <td><div class="day">23</div></td>    
     </tr> 
     <tr> 
     <td><div class="day">24</div></td> 
     <td><div class="day">25</div></td> 
     <td><div class="day">26</div></td> 
     <td><div class="day">27</div></td> 
     <td><div class="day">28</div></td> 
     <td><div class="day">29</div></td> 
     <td><div class="day">30</div></td>   
     </tr> 
     <tr> 
     <td><div class="day">31</div></td> 
     </tr> 
    </table> 
</div> 
</div> 

$(document).ready(function() { 
    $('.editing').click(function(){ 
     $(this).hide(); 
     $('.kalbox').addClass('editable'); 
     $('.kaltext').attr('contenteditable', 'true'); 
     $('table tr td').click(function(){ 
      $(this).css('background-color', '#fff'); 
      $(this).css('color','#444'); 
     }); 
     $('.saving').show(); 
    }); 


    $('.saving').click(function(){ 
     $(this).hide(); 
     $('.kalbox').removeClass('editable'); 
     $('.kaltext').removeAttr('contenteditable'); 
     $('.editing').show(); 
    }); 
}); 
+0

什麼是HTML是什麼樣子? – RST

+1

你可以使用'.off'方法刪除事件處理程序 – maioman

+0

我已經添加了html代碼@RST –

回答

1

您可以使用flag variable並在編輯時檢查它。

$(document).ready(function() { 
    var checkSave = true; 
    $('.editing').click(function(){ 
      if(checkSave){ 
      $(this).hide(); 
      $('.kalbox').addClass('editable'); 
      $('.kaltext').attr('contenteditable', 'true'); 
      $('table tr td').click(function(){ 
       if(checkSave){ 
        $(this).css('background-color', '#fff'); 
        $(this).css('color','#444'); 
       } 
      }); 
      $('.saving').show(); 
     } 
    }); 


    $('.saving').click(function(){ 
     $(this).hide(); 
     $('.kalbox').removeClass('editable'); 
     $('.kaltext').removeAttr('contenteditable'); 
     $('.editing').show(); 
     checkSave = false; 
    }); 
}); 

https://jsfiddle.net/hLx7zxdb/3/

+0

當我點擊保存時,我仍然可以在點擊時更改td css –

+0

'contenteditable'是屬性,而不是屬性。這應該反映在你的代碼中。 –

+0

contentEditable是一個屬性,但也可以用作屬性http://www.w3schools.com/tags/att_global_contenteditable.asp –