3

我正在尝试使用 TextEvent/textInput 事件替换文本区域中的文本,如下所示:

var textarea = $('#my_textarea'),
    text = "Hello world !",
    selection = {'start': 4, 'end': 6};

var event = document.createEvent('TextEvent');
event.initTextEvent('textInput', true, true, null, text, 9, "en-US");
textarea.focus();
textarea[0].setSelectionRange(selection.start, selection.end);
textarea[0].dispatchEvent(event);

这在 Chrome 中可以正常工作,但在 Internet Explorer 9 中却不行:文本部分选择得很好,但没有更改。

我按照这里写的:Javascript textarea undo redo和这里http://help.dottoro.com/ljuecqgv.php没有任何运气。

我错过了什么?

注意:我使用 TextEvent 而不是仅仅通过替换文本,val()因为我想使用 Undo/Redo 系统。

4

0 回答 0