Das mit
onmouseout
ist tatsächlich etwas schwieriger zu handhaben als ich zunächst dachte.
Wenn man ERST ins Editorfeld (oder irgendeine andere Freifläche) klickt und DANN den Mauscursor auf das Color-Inputfeld bewegt, verschwindet der Color Picker nicht gleich wieder. Mit anderen Worten: OnMouseOut wirkt NUR DANN SOFORT, wenn das Color-Inputfeld bereits aktiv ist (z.B. wenn bereits eine Farbe ausgewählt wurde) oder man gezielt reinklickt. Andererseits wirkt es auch überhaupt nur, wenn der Mauscursor sich über das Inputfeld bewegt und leider nicht, wenn man mit dem Mauscursor den Pickerbereich verläßt.
Wenn man es weiß, ist es relativ problemlos. Aber für ein "normales" Forum, bei dem die Benutzer dann rätseln müssen und nicht klar kommen, sollte man es tatsächlich anders handhaben. Vielleicht finden wir noch alle zusammen eine Idealfassung.
Was mir eigentlich vorschwebte, ist das Öffnen des Pickers durch MouseOver über das Inputfeld und das Schließen durch Verlassen des Pickers, also müßte OnMouseOut für den Picker gesetzt werden. Das geht dann aber wahrscheinlich (ohne Änderungen in jscolor.js vorzunehmen) doch nur mit einer neu initialisierten Kopie, wie bei der ursprünglichen Mod-Idee und Deiner Vereinfachung.
Allerdings hätte ich noch diese
Notlösung anzubieten:
Code: Alles auswählen
<input id="culur" class="color {pickerFaceColor:'transparent',pickerFace:3,pickerBorder:0,pickerPosition:'top'}" value='000000' title="{L_BBCODE_S_HELP}" onmouseover="document.getElementById('culur').color.showPicker()" />
<input type="button" onclick="bbfontstyle('[color=#' + document.getElementById('culur').color + ']' , '[/color]')" class="button2" value="OK" onmouseout="document.getElementById('culur').color.hidePicker()"/>
OnMouseOver
über dem Inputfeld öffnet den Picker und
OnMouseOut
über dem
OK-Button schließt ihn. Obwohl: Ein einfacher Mausklick irgendwohin ausserhalb des Inputs und des Pickers tut es erstaunlicherweise manchmal (keine Ahnung wann und wann nicht) auch schon.