Ciao,
è la mia prima richiesta di aiuto. Spero di riuscire a spiegare bene il mio problema.
Sto creando un WYSIWYG editor (senza utilizzare un editor già in giro tipo TinyMce,FCKEditor, ecc.) per la personalizzazione di biglietti da visita, magliette, ecc., sulla specie di VistaPrint.
Ho una classica barra dell'editor in alto all'interno di un div, e sotto un altro div contenente una o più caselle di testo e/o immagini che possono essere spostate o ridimensionate dall'utente.
Ho una cosa del genere (sintetizzata):
<div id="barraeditor" >
[img]img/text_bold.png[/img]
[img]img/text_italic.png[/img]
[img]img/text_underline.png[/img]
</div>
<div id="drag_cont"> DIV contenitore dell'area editabile
<div id="text1">
Inserisci testo...</div>
</div>
Ora, ho un problema su cui mi sono bloccato. Ho la necessità di ignorare la perdita del focus delle varie caselle di testo editabili solo se il mouse clicca sulla barra dell'editor. In caso contrario (con il click su tutte le altre parti della pagine) è giusto che la casella di testo perda il focus.
Ho pensato di creare un evento onclick, che va a togliere il focus alla casella di testo, applicato all'intero documento ma escludendo il div contenente la barra dell'editor, utilizzando il target. Il codice è simile a questo:
dsAddEvent(node, 'mousedown', function(e) {
// Escludo l'evento mousedown se il focus è sul div della barra dell'editor.
if(!e) e = window.event;
var div=document.getElementById('barraeditor');
var srg=(e.target)?e.target:e.srcElement;
srg!=div?obj.mouseDown(e):null;
Credevo così di risolvere. Però il problema sta nel fatto che all'interno del div "barraeditor" ci sono anche i tag <a> e <img>, con altri ID. Quindi succede che l'evento onclick viene giustamente ignorato se si clicca sulla barra dell'editor, però solo se fuori delle singole icone del Bold, Italic, ecc. Io credevo che l'onclick venisse ignorato per tutto il contenuto del div "barraeditor".
Quale è la sintassi per escludere tutti gli id che si trovano dentro questo div? E' possibile fare una cosa del genere?
Help please![]()