से जावास्क्रिप्ट का उपयोग कर उपयोगकर्ता चयन की प्रारंभ और समाप्ति स्थिति की गणना करें मैं एक ज्ञात मूल तत्व से उपयोगकर्ता चयन की आरंभ और समाप्ति स्थिति की गणना करने का एक तरीका ढूंढ रहा हूं। मैं कुछ मामूली संशोधन के साथ this पर आया था, मैं एफएफ के लिए काम करने में सक्षम था, लेकिन मुझे यकीन नहीं है कि आईई में ऐसा कैसे करें और अगर मेरा संशोधन उचित है तो मुझे कुछ विचार मिलना अच्छा लगेगा। मूल उत्तर के लिए टिम डाउन के लिए बड़ा धन्यवाद।अभिभावक तत्व
function getBodyTextOffset(node, offset) {
var sel = window.getSelection();
var range = document.createRange();
range.selectNodeContents(document.getElementById('test'));
range.setEnd(node, offset);
sel.removeAllRanges();
sel.addRange(range);
return sel.toString().length;
}
function getSelectionOffsets() {
var sel, range;
var start = 0, end = 0;
if (window.getSelection) {
sel = window.getSelection();
if (sel.rangeCount) {
range = sel.getRangeAt(sel.rangeCount - 1);
start = getBodyTextOffset(range.startContainer, range.startOffset);
end = getBodyTextOffset(range.endContainer, range.endOffset);
sel.removeAllRanges();
sel.addRange(range);
alert(start + ", " + end);
}
} else if (document.selection) {
// IE stuff here
}
return {
start: start,
end: end
};
}
मैं जानता हूँ कि यह एक समय हो गया है, लेकिन यहाँ एक JSFiddle विचार दिखा है। फिर यह एफएफ और क्रोम में काम करता है लेकिन आईई 9 नहीं। आदर्श रूप से मैं तत्व परीक्षण की शुरुआत से ऑफ़सेट प्राप्त करने में सक्षम होना चाहता हूं।
कम [jsfiddle] (http://jsfiddle.net/) डेमो एक अच्छा जवाब प्राप्त करने के आपके अवसरों में काफी सुधार करेगा। – c69
[रंगी] देखें (http://code.google.com/p/rangy/)। आप अपने वर्तमान कोड को बहुत बारीकी से अनुवाद करने में सक्षम हो सकते हैं। – Hemlock