insertText: function (text) {
this.element.focus();
if (document.all) {
document.selection.empty();
this.range.text = text;
this.range.collapse(true);
this.range.select();
}
else {
var sel = window.getSelection(), rng = sel.getRangeAt(0);
rng.deleteContents();
var node = document.createTextNode(text)
rng.insertNode(node);
sel.collapse(node, text.length);
/*
if (this.getType() == 'HTMLDivElement') {
this.element.innerHTML = this.element.innerHTML.substr(0, this.start) + text + this.element.innerHTML.substr(this.start); //赋值1
} else { this.element.text = this.element.value.substr(0, this.start) + text + this.element.text.substr(this.start); //赋值2
};*/
}
},楼主可以好好研究下标准浏览器的range和selection对象
https://developer.mozilla.org/en-US/docs/Web/API/Selection
https://developer.mozilla.org/en-US/docs/Web/API/Range
this.element.focus();
if (document.all) {
document.selection.empty();
this.range.text = text;
this.range.collapse(true);
this.range.select();
}
else {
var sel = window.getSelection(), rng = sel.getRangeAt(0);
rng.deleteContents();
var node = document.createTextNode(text)
rng.insertNode(node);
sel.collapse(node, text.length);
/*
if (this.getType() == 'HTMLDivElement') {
this.element.innerHTML = this.element.innerHTML.substr(0, this.start) + text + this.element.innerHTML.substr(this.start); //赋值1
} else { this.element.text = this.element.value.substr(0, this.start) + text + this.element.text.substr(this.start); //赋值2
};*/
}
},楼主可以好好研究下标准浏览器的range和selection对象
https://developer.mozilla.org/en-US/docs/Web/API/Selection
https://developer.mozilla.org/en-US/docs/Web/API/Range
多谢!!这方面我一直在找教材,但基本找不到。英文的一知半解。