2013-11-09 59 views
1

我想在有人輸入一些信息後發送信息,如果有人通過單擊其他地方或者退出,它會發送....但是當按下輸入時,它會中斷並轉到下一個線。我試圖防止這種情況發生,當他們按下回車鍵時就離開這個盒子。按Enter鍵留下內容可編輯框

代碼:

$('.username').blur(function(){ 
    if (username != $(this).text()) { 
     $.ajax({ 
      type: 'POST', 
      url: 'usernameChange', 
      data: { username: username, id: id } 
     }).done(function(msg){ 
      console.log('Okay, new username is ' + msg); 
     }); 
    } 
}); 

我如何檢查是否有人按下輸入離開......

<span class="username" contenteditable="true">Nasus</span> 

回答

2

你必須處理keydown事件,對CONTENTEDITABLE失去焦點,當有人按下輸入密鑰,這樣你也可以防止換行。

$(".username").on("keydown",function(e){ 
    var key = e.keyCode || e.charCode; // ie||others 
    if(key == 13) // if enter key is pressed 
     $(this).blur(); // lose focus 
});