• JS事件委托与可编辑元素


    最近又在搞一些表格的东西,还要每个格子里面可以编辑的。

    可编辑方法

    第一种是H5的方法 (可以直接把元素变成可编辑)

     1 contenteditable=true 

    第二种方法替换(把内容替换成input然后替换回去)

    JQ:

     1 $(this).replaceWith('text'); 

    第三种方法只读(把input的readonly去掉就可以编辑了)

     HTML:

    <input type="text" readonly=readonly>

    JQ:

    1 $(input).removeAttr('readonly');

    复习JS属性操作

    1  obj.getAttribute('contenteditable');
    2  obj.setAttribute('contenteditable', 'true');
    3  obj.removeAttribute('contenteditable');

    JQ

    1    $(this).attr('contenteditable', 'true')
    2    $(this).removeAttr('contenteditable', 'true')

    委托事件

    有时会操作大量一样的代码,可以用委托事件,小量代码用委托事件也会有性能上的优化

    JS的委托事件(看了半天原来是这么简单)

     1 document.onclick = function(event) {
     2     event = event || window.event;
     3     var target = event.target || event.srcElement;
     4     // console.log(target.nodeName)
     5     if (target.nodeName == target.nodeName) {
     6         for (var o = 0; o < len; o++) {
     7             tag[o].removeAttribute('contenteditable');
     8         }
     9     }
    10 };

    JQ就更加简单了

    1 $('table').on('click', 'tbody td', function(e) {
    2     $(this).attr('contenteditable', 'true');
    3     $(this).focus();
    4     e.stopPropagation();
    5 })

    哪个方便哪个快用哪个!

  • 相关阅读:
    httpclient之基本类
    安卓开发遇到的各种问题
    C#获取字符串宽度像素
    Android开发参考资料
    Windows Phone开发参考资料
    Windows Phone锁屏背景相关代码
    Windows Phone Launcher class
    Windows Phone SplashScreen初始屏幕示例
    ASP如何实现注册后发送激活邮件?
    SkyDrive开发申请ClientID
  • 原文地址:https://www.cnblogs.com/hasubasora/p/6677096.html
Copyright © 2020-2023  润新知