I hate Internet Explorer

This commit is contained in:
Eston Bond
2010-12-04 00:13:42 -08:00
parent 8a954f4435
commit 4d9e48b9a5
@@ -510,12 +510,38 @@
start = el.selectionStart;
end = el.selectionEnd;
} else {
var range = document.selection.createRange();
var range = document.selection.createRange();
var stored_range = range.duplicate();
stored_range.moveToElementText( el );
stored_range.setEndPoint( 'EndToEnd', range );
start = stored_range.text.length - range.text.length;
stored_range.moveToElementText( el );
stored_range.setEndPoint( 'EndToEnd', range );
start = stored_range.text.length - range.text.length;
end = start + range.text.length;
// so, uh, we're close, but we need to search for line breaks and
// adjust the start/end points accordingly since IE counts them as
// 2 characters in TextRange.
var s = start;
var lb = 0;
debug('IE: start position is currently ' + s);
for ( var i=0; i < s; i++ )
if ( el.value.charAt(i).match(/\r/) )
++lb;
if ( lb ) {
debug('IE start: compensating for ' + lb + ' line breaks');
start = start - lb;
lb = 0;
}
var e = end;
for ( var i=0; i < e; i++ )
if ( el.value.charAt(i).match(/\r/) )
++lb;
if ( lb ) {
debug('IE end: compensating for ' + lb + ' line breaks');
end = end - lb;
}
}
return {