码迷,mamicode.com
首页 > Web开发 > 详细

jquery 实现可编辑div

时间:2015-08-08 18:21:10      阅读:126      评论:0      收藏:0      [点我收藏+]

标签: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文件给 Eidt按钮添加事件并实现.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



版权声明:本文为博主原创文章,欢迎转载,转载请注明出处。

jquery 实现可编辑div

标签:jquery   div   可编辑   编辑   

原文地址:http://blog.csdn.net/xxm524/article/details/47360043

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!