我能夠ONSELECT地記錄和存儲開始得到突出顯示的文字了一個textarea的每一次結束的。然後,當我點擊一個按鈕時,我自己構建子字符串。沒有簡單的查詢選擇的簡單方法嗎?HTML5如何讓所選文本從一個文本
我是種期待會有HTML5的DOM所有這些事情的方法,是這樣的:
textarea.getSelectedStart() textarea.getSelectedEnd(); text1.setSelected(start,end); textArea.setSelected(start,end);
此外,有沒有在一個文本編程取消文本的方法嗎?
我的代碼基於下面的第一個解決方案投入。這種類型的作品,但有一個奇怪的問題:
<script language=javascript>
function replaceCLOZE(code, questionType) {
var v = code.value;
var s = code.selectionStart;
var e = code.selectionEnd;
var t = v.substr(s, e-s);
var rep = "{:" + questionType + ":="+t+"}";
code.value = v.substr(0,s) + rep + v.substr(e,v.length-e+1);
}
function shortAnswer(code) {
replaceCLOZE(code, "SA");
}
function shortAnswerCaseSensitive(code) {
replaceCLOZE(code, "SAC");
}
function multipleChoice(code) {
replaceCLOZE(code, "MC");
}
文本區域實際上有屬性code.selectionStart和code.selectionEnd。但上面的代碼現在可以工作,將屏幕上突出顯示的文本設置爲textarea中的第一個單詞。請注意,selectionStart仍然正確,但在Firefox中實際突出顯示的內容是錯誤的。
在Chrome中它工作正常。也許這只是Firefox中的一個錯誤,或者是否有其他的東西需要做,以便可視化地正確更新textarea?
當我在Firefox中嘗試這樣做,它正確地得到selectionStart和結束,但隨後神祕地突出一個字。