使用jQuery keyup </textarea>时,<textarea>的文本在Safari中被删除

时间:2011-07-07 12:53:58

标签: javascript jquery safari

iPad上的Safari不支持contenteditable,我无法控制生成的HTMl。这是一个博客,插入文本的默认区域是具有contenteditable属性的div。我使用jQuery来找到这个div,隐藏它,附加一个textarea和新的textarea的keyup事件将文本放入隐藏的div中然后我可以单击Save按钮并且所有内容都被正确插入。

以下脚本在IE,Chrome和FireFox中运行良好,但在Safari(iPad或PC)中运行不正常,为什么会这样,解决方案是什么?

$(document).ready(function () {
    $('#defaultBox').parent().hide();

    $('.ms-standardheader').each(function () {
        var test = $(this).html();
        if (test.indexOf("Body") != -1) {
            $(this).parent().parent().after('<tr><td></td><td><textarea id="newBox" style="width:98%; height: 100%;"></textarea></td></tr>');
        }
    });

    $('#newBox').keyup(function () {
        var text = $(this).val();
        $('#defaultBox').text(text);
    });
});

编辑:Safari中发生的事情是,一旦我停止输入,文本会立即在我输入的文本区域中被删除。文本不会从div中删除但是很难看到你写的是什么,因为它是隐藏。

在Safari中有效的简单小提琴 http://jsfiddle.net/Va4L2/

我尝试过keydown,但没有区别。 提前谢谢。

0 个答案:

没有答案