Jquery 向他们显示默认值,并允许他们按escape或Ctrl-Z

Jquery 向他们显示默认值,并允许他们按escape或Ctrl-Z,jquery,Jquery,我有一个表格单元格,当用户单击它时,我用一个输入标记替换表格单元格的内容,当前内容作为默认内容。 但我不喜欢它的行为,因为用户有可能只需再次单击输入就可以删除输入上的上下文 $('.LastName').live('click', function() { var myText = $(this).text(); $(this).empty().append('<input name="LastName" id="LastName" value="' + myText + '"

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

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

Q:我如何给用户一个默认值,加上他们在编辑的中间按下转义键或CTRL Z?

< P>你可以检查你的输入是否当前显示,如果不是第二次,就不显示它。
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
keydup
)。

Lukasz,感谢您的回复。我所做的是将LastName定义为一个全局变量,如果$(this).val()的长度为零,那么我只使用他们最初单击表格单元格时保存的LastName。