2013-10-26 104 views
0

我正在使用以下內嵌編輯。JQuery模糊並輸入鍵 - 模糊不工作

我想AJAX火時輸入鍵按下或者用戶點擊離開時,按下回車鍵一切正常,但AJAX不是射擊模糊(模糊)

// inline editing 
$(document).on('blur keypress', 'span[contenteditable=true]', function (e) { 

    if (e.type == 'blur' || e.keyCode == '13') { 

     $.ajax({ 
      type:'POST', 
      url:'/ajax/actions/editGenre.php', 
      data:{ 
      content: $(this).text(), 
      id: $(this).attr('rowId') 
      }, 
      success:function(msg){ 
      $('span[contenteditable=true]').removeClass('inlineEdit').addClass('editAble'); 
      } 
     }); 

     e.preventDefault(); 

     } 

}); 
+0

其中的代碼完全失敗爲你工作的一部分嗎?數據在模糊時發送的行爲,inlineEdit類的移除等 – Deryck

+0

ajax不會在模糊上發射 –

回答

0

模糊事件不會觸發span標籤。使用其他旨在獲得焦點的其他東西。

2

修正:JSFiddleWiddleBiddleBoDiddle(註釋掉你的AJAX的小提琴和使用的警報證明)

$(document).on('focusout keypress', 'span.inlineEdit', function (e) { 
    e.preventDefault(); 
    if (e.type == 'focusout' || e.keyCode == '13') { 
     $.ajax({ 
      type: 'POST', 
      url: '/ajax/actions/editGenre.php', 
      data: { 
       content: $(this).text(), 
       id: $(this).attr('rowId') 
      }, 
      success: function (msg) { 
       $('span.inlineEdit').removeClass('inlineEdit').addClass('editAble'); 
      } 
     }); 
    } 
}); 
+0

PS - 通過我的更改,您需要在該跨度上添加一個新方法,使其成爲「inlineEdit」類再次 - '$('span.editAble')。click(function(){$(this).removeClass('editAble')。addClass('inlineEdit');});' – Deryck