将它们显示为默认值,并允许它们按escape或Ctrl-Z

时间:2010-03-30 03:07:15

标签: jquery

我有一个表格单元格,当用户点击它时,我用输入标签替换表格单元格的内容,并将当前内容作为默认值。 但我不喜欢它的行为,因为用户有可能只需再次点击就可以删除输入的上下文。

 $('.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 个答案:

答案 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,您正在寻找其中一个关键事件处理程序(keypresskeydownkeyup)。

相关问题