0

我写了一个自定义内联编辑器,但我遇到了问题。如果我点击保存按钮之后我无法再次编辑它,我该如何修复它以使其正常工作?你能帮我把它变成多个吗?我的意思是,这仅适用于页面上的 1 个 div,不超过 1 个。这是代码:

$(function() 
{
    var fut = false;
    $('.jq_edit').live('click', function() {
        if (fut==true){ } else {                                 
        var tartalom = $(this).html();
        $(this).html("<input type='text' value='"+tartalom+"'><input type='button' value='Save' class='save'>");
        fut=true;
        }
    });
        $('.save').live('click', function() {
            var mtartalom=$(this).prev().attr('value');
            $('.jq_edit').html(mtartalom);
            $('.jq_edit').append(" <span id='ok'><img src='accept.png'> Success</span>");
            $('#ok').delay(1500).fadeOut(500);
        });
});

和html:

<body>
<div class="jq_edit">adsadasd</div>
</body>

感谢您的帮助!

4

2 回答 2

1

要使其倍增,您必须进行很多更改,这是我的解决方案:

$(function() {
    $('.jq_edit').live('click', function() {
        // if success message is visible, remove it
        $(this).find('.ok').remove();

        // if already in input mode, return
        if ($(this).hasClass('inputMode')) {
            return true;
        }

        // change to input mode
        var tartalom = $(this).html();
        $(this)
            .empty()
            .append("<input type='text' value='" + tartalom + "'>")
            .append("<input type='button' value='Save' class='save'>")
            .addClass('inputMode');
    });

    $('.save').live('click', function() {
        // create success message
        var jSuccess = $("<span class='ok'> <img src='accept.png' /> Success</span>");

        // deactivate input mode
        $(this).parent()
            .html($(this).prev().val())
            .append(jSuccess)
            .removeClass('inputMode');

        // animate success message
        $(jSuccess).delay(1500).fadeOut(500, function() {
            $(this).remove();
        });

        // prevent jq_edit click handler
        return false;
    });
});

另请参阅我的jsfiddle

于 2011-09-03T08:38:32.927 回答
0

请删除if(fut==true)检查,它应该可以正常工作...发生的情况是,一旦将fut变量设置为 true,就永远不会执行就地编辑。我仍然很困惑为什么你首先要检查...

于 2011-09-03T08:22:31.443 回答