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,但没有区别。 提前谢谢。