HTML interesse |
|
Beste Sitemasters,
Ik heb een simpele versie van een wysiwyg gemaakt om tekst bold, italic, underline te zetten. Als je tekst selecteert en vervolgens op een van de knoppen druk is het de bedoeling dat er om de selecteerde tekst bb_code moet worden gezet. Niet lastig en het werkt ook (bijna) allemaal, alleen in Internet Explorer blijft de textRange.text leeg. Ik heb verschillende kant en klare oplossingen geprobeerd die ik heb gevonden. Het rare is dat de oplossing op de site waar ik het vandaan heb wel werkt, maar zodra ik het zelf implementeer werkt het niet en komt er alleen op de plek van de cursor de bb_code te staan met de overige tekst er omheen.
Ik heb de volgende html:
<div id="wysiwyg_259" class="wysiwyg_bar">
<div class="wysBtn_bold"> </div>
<div class="wysBtn_italic"> </div>
<div class="wysBtn_underline"> </div>
</div>
<textarea id="tekst_259" name="tekst_259">Zullen we samen dansen?!</textarea>
<div id="wysiwyg_259" class="wysiwyg_bar"> <div class="wysBtn_bold"> </div> <div class="wysBtn_italic"> </div> <div class="wysBtn_underline"> </div>
Ik heb meerdere textarea's met verschillende id's.
en de volgende js:
function set_bb( id, style ) {
var textarea = document.getElementById("tekst_" + id);
if( textarea.selectionStart === undefined ) {
textarea.focus();
var textRange = document.selection.createRange();
var rangeParent = textRange.parentElement();
if( rangeParent === textarea )
textRange.text = "[" + style + "]" + textRange.text + "[/" + style + "]";
var tmp = "";
$.each( textRange, function( i, n ) {
tmp += i + ": " + n + "\n";
} );
alert(tmp);
} else if ( obj.selectionStart != 'undefined' ) {
//overige code werkt wel
}
}
function set_bb( id, style ) { var textarea = document.getElementById("tekst_" + id); if( textarea.selectionStart === undefined ) { textarea.focus(); var textRange = document.selection.createRange(); var rangeParent = textRange.parentElement(); if( rangeParent === textarea ) textRange.text = "[" + style + "]" + textRange.text + "[/" + style + "]"; var tmp = ""; $.each( textRange, function( i, n ) { tmp += i + ": " + n + "\n"; } ); alert(tmp); } else if ( obj.selectionStart != 'undefined' ) { //overige code werkt wel } }
Screenshot: wysiwyg fail
Iemand een idee wat er fout gaat?
gr,
|