2010-03-30 51 views
0

我有一個表格單元格,當用戶單擊它時,我用當前內容替換表格單元格的內容,當前內容爲默認。 但我不喜歡它的行爲,因爲有可能用戶只需再次點擊輸入就可以刪除輸入上下文。顯示它們的默認值,並允許它們按下轉義或Ctrl-Z

$('.LastName').live('click', function() { 
    var myText = $(this).text(); 
    $(this).empty().append('<input name="LastName" id="LastName" value="' + myText + '" />'); 
    document.myForm.LastName.focus(); 
}); 

問:如何給用戶一個默認值,並允許他們在編輯過程中按下退出鍵或Ctrl-Z?

回答

1

您可以檢查您的輸入是否當前正在顯示,如果是,則不會再次顯示。

var lock = false; 
$('.LastName').live('click', function() { 
    if (!lock) { 
     // set the lock 
     lock = true; 

     // your handler code goes here 
    } 
}); 

$('.lastName input').live('blur', function() { 
    // release the lock 
    lock = false; 
}); 

至於處理按鍵事件處理函數(keypress,​​或keyup)的按Ctrl-Z一個是你在找什麼。

+0

Lukasz, 謝謝您的迴應。我所做的是將LastName定義爲一個全局變量,並且如果$(this).val()的長度爲零,那麼我只使用最初在單元格中單擊時保存的姓氏。 – 2010-03-30 17:47:23

相關問題