我有一个表格单元格,当用户点击它时,我用输入标签替换表格单元格的内容,并将当前内容作为默认值。 但我不喜欢它的行为,因为用户有可能只需再次点击就可以删除输入的上下文。
$('.LastName').live('click', function() {
var myText = $(this).text();
$(this).empty().append('<input name="LastName" id="LastName" value="' + myText + '" />');
document.myForm.LastName.focus();
});
问:如何为用户提供默认值,并允许他们在编辑过程中按下转义键或Ctrl-Z?
答案 0 :(得分: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;
});
至于处理Ctrl-Z,您正在寻找其中一个关键事件处理程序(keypress
,keydown
或keyup
)。