• jquery 实现可编辑div



    html大致例如以下:

    <ol id="ol_group" class="list-group list_of_items">
        <li class="list-group-item completed_item">
            <div class="text_holder">
                how are you?
                <div class="btn-group pull-right">
                    <button class="delete btn btn-warning">Delete</button>
                    <button class="edit btn btn-success">Edit</button>
                </div>
            </div>
            <div class="checkbox">
                <label>
                    <input type="checkbox" class="pull-right">
                </label>
            </div>
        </li>
    </ol>
    (这仅仅是一部分,但演示效果够了)


    在js文件给 Eidtbutton加入事件并实现.test-holder的div的可编辑化:

    body.on('click', '.text_holder .btn-group .edit', function(){
        var divedit = $(this).parent().parent();
        if (!divedit){
            return;
        }
        if (divedit.children("input").length > 0) {
            return;
        }
        var mtext = divedit.text().substring(0, divedit.text().length-10);
    
        var inputIns = $("<input type='text'/>");  //创建input 输入框
        var oldtext = divedit.html();        //保存原有的值
        inputIns.width(divedit.width()/3*2); //设置INPUT与DIV宽度一致
        inputIns.val(mtext);
        divedit.html(""); //删除原来单元格DIV内容
        inputIns.appendTo(divedit).focus().select(); //将须要插入的输入框代码插入DOM节点中
        inputIns.click(function () {
            return false;
        });
        //处理回车和ESC事件
        inputIns.keyup(function (event) {
            var keycode = event.which;
            if (keycode == 13) {
                var newText = oldtext.replace(mtext, $(this).val());
                divedit.html(newText);         //设置新值
            }
            if (keycode == 27) {
                divedit.html(oldtext);         //返回旧值
            }
        }).blur( function (event) {
                if($(this).val() != oldtext){
                    var newText = oldtext.replace(mtext, $(this).val());
                    divedit.html(newText);         //设置新值
                }else{
                    divedit.html(oldtext);
                }
            }
        );
    });

    效果图:



    參考资料:

    http://blog.csdn.net/billhepeng/article/details/7409125



  • 相关阅读:
    uart协议--Verilog及仿真
    DC综合的流程
    modelsim将vcd文件转换成wlf文件并查看波形
    将系统盘还原成原来的普通u盘
    Ubuntu的操作命令
    gvim快捷键
    dc_shell环境下TCL语言的使用
    AHB总线学习
    Ubuntu文件共享
    Linux基础学习 | 目录及文件
  • 原文地址:https://www.cnblogs.com/slgkaifa/p/7118599.html
Copyright © 2020-2023  润新知