开发者

Show them the default, and allow them to press escape or Ctrl-Z

开发者 https://www.devze.com 2022-12-25 15:14 出处:网络
I have a table cell, and when the user clic开发者_运维技巧ks on it, I replace the contents of the table cell with an input tag with the current contents as the default.

I have a table cell, and when the user clic开发者_运维技巧ks on it, I replace the contents of the table cell with an input tag with the current contents as the default. But I don't like it's behavior because there's a chance that the user can delete the contexts on the input simply by clicking on it a second time.

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

Q: How do I give the user a default, plus allow them to press the escape key or Ctrl-Z while in the middle of an edit?


You can check if your input is currently beign displayed and do not display it for the second time if it is.

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;
});

As for handling Ctrl-Z one of the key event handlers (keypress, keydown or keyup) is what you are looking for.

0

精彩评论

暂无评论...
验证码 换一张
取 消