1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-07-06 00:14:25 +03:00

фикс панели редактора текста в IE

This commit is contained in:
Mzhelskiy Maxim 2009-05-07 07:46:16 +00:00
parent 57144ec582
commit ef5922787f

View file

@ -7,7 +7,13 @@ var lsPanelClass = new Class({
obj=$(obj); obj=$(obj);
var scrollLeft=obj.scrollLeft; var scrollLeft=obj.scrollLeft;
var scrollTop=obj.scrollTop; var scrollTop=obj.scrollTop;
if (Browser.Engine.trident && document.selection) {
obj.focus();
sel=document.selection.createRange();
sel.text=text;
} else {
obj.insertAtCursor(text); obj.insertAtCursor(text);
}
obj.scrollLeft=scrollLeft; obj.scrollLeft=scrollLeft;
obj.scrollTop=scrollTop; obj.scrollTop=scrollTop;
}, },
@ -20,11 +26,17 @@ var lsPanelClass = new Class({
obj=$(obj); obj=$(obj);
var scrollLeft=obj.scrollLeft; var scrollLeft=obj.scrollLeft;
var scrollTop=obj.scrollTop; var scrollTop=obj.scrollTop;
if (Browser.Engine.trident && document.selection) {
obj.focus();
sel=document.selection.createRange();
sel.text = textStart+sel.text+textEnd;
} else {
obj.insertAroundCursor({ obj.insertAroundCursor({
before: textStart, before: textStart,
defaultMiddle: '', defaultMiddle: '',
after: textEnd after: textEnd
}); });
}
obj.scrollLeft=scrollLeft; obj.scrollLeft=scrollLeft;
obj.scrollTop=scrollTop; obj.scrollTop=scrollTop;
}, },
@ -46,23 +58,22 @@ var lsPanelClass = new Class({
putQuote: function(obj) { putQuote: function(obj) {
obj=$(obj); obj=$(obj);
if (selText=window.getSelected()) { if (selText=this.getSelectedText()) {
this.putText(obj,'<blockquote>'+selText+'</blockquote>'); this.putText(obj,'<blockquote>'+selText+'</blockquote>');
} else { } else {
this.putTagAround(obj,'blockquote'); this.putTagAround(obj,'blockquote');
} }
},
getSelectedText: function(){
if (Browser.Engine.trident) return document.selection.createRange().text;
//if (window.khtml) return window.getSelection();
return document.getSelection();
} }
}); });
var lsPanel; var lsPanel;
window.addEvent('domready', function() { window.addEvent('domready', function() {
$extend(window,{
getSelected: function(){
if (this.ie) return document.selection.createRange().text;
if (this.khtml) return this.getSelection();
return document.getSelection();
}
});
lsPanel = new lsPanelClass(); lsPanel = new lsPanelClass();
}); });