javascript - 双击Jquery时如何编辑和更新<td>值

标签 javascript jquery html

我编写代码时,当用户双击 <td> 时我是元素:

  • 附加我<input>type="text"
  • 为其添加一个值并在用户点击回车时更新它

这是我的问题:
如果用户双击 <td>然后点击另一个 <td>不用回车,我需要初始的 <td><input>重置为以前的值。

// Selecting the table <th> odd elements
$("#div table td").dblclick(function(){
    var currentEle = $(this);
    var value = $(this).html();
    updateVal(currentEle, value);
});

function updateVal(currentEle, value)
{
    $(currentEle).html('<input class="thVal" type="text" value="'+value+'" />');
    $(".thVal").focus();
    $(".thVal").keyup(function(event){
        if(event.keyCode == 13){
            $(currentEle).html($(".thVal").val().trim());
        }
    });

    $('body').not(".thVal").click(function(){
        if(('.thVal').length != 0)
        {
            $(currentEle).html($(".thVal").val().trim());
        }
    });
}

请帮帮我。 我不想使用 jeditable 数据表。

最佳答案

在您的情况下,您需要 .stopPropagation(): http://jsfiddle.net/jFycy/

$(function () {
    $("#div table td").dblclick(function (e) {
       e.stopPropagation();      //<-------stop the bubbling of the event here
       var currentEle = $(this);
       var value = $(this).html();
       updateVal(currentEle, value);
    });
});

function updateVal(currentEle, value) {
  $(currentEle).html('<input class="thVal" type="text" value="' + value + '" />');
  $(".thVal").focus();
  $(".thVal").keyup(function (event) {
      if (event.keyCode == 13) {
          $(currentEle).html($(".thVal").val().trim());
      }
  });

  $(document).click(function () { // you can use $('html')
        $(currentEle).html($(".thVal").val().trim());
  });
}

而不是点击 body,在 documenthtml 上执行事件,这是所有其他元素的父元素。

关于javascript - 双击Jquery时如何编辑和更新<td>值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14744717/

相关文章:

javascript - 使用原型(prototype)获取单击事件上的 next() 元素的innerHTML

javascript - XMLHttpRequest 对象

javascript - Firefox 和 Safari 样式表加载时间,加载时触发 JavaScript 事件

jquery - 检测HTML5输入的form属性,如果不支持则尝试序列化

javascript - 使用本地存储设置用户偏好的类

javascript - 使用 css 更改变量

javascript - jQuery 检查和更改自定义 Google 电子表格页面上的输入和下拉列表

javascript - 用户单击元素时如何切换脚本的 src 属性?

html - 媒体查询不会调整字段集和按钮的大小

html - 防止 float div 换行