....
//inizio tabella x parole
html += '<table border="0" cellpadding="0" cellspacing="0"
class="wordsboard" >'
for(var i=0; i<13; i++){
html += '<tr>'
for(var j=0; j<3; j++){
html += '<td onclick="pMouseClick(this);"
ondblclick="NOpMouseClick(this);" >'
if (jsK<=36) {html += splitted[jsK];
jsK++}
else {html +="-------"};
//html += splitted[jsK];
//jsK++;
html += '</td>'
}
html += '</tr>'
}
html += '</table>'
return html
}
//fine tabella per parole
//eventi mouse
function pMouseClick(obj){
obj.className = 'wordsboard_clicked'
}
function NOpMouseClick(obj){
obj.className = 'wordsboard_NOclicked';
}
//frammento fogli di style
.wordsboard{ border:3px #738678 solid; position: absolute; top: 25px;
left: 490px; cursor: pointer; }
.wordsboard td{ font-family: arial, sans-serif; font-size: 1.00em;
font-weight: bold; text-align: center; vertical-align: middle; color:
#3E3E3E;
background: #ffe; padding: 4px; margin: 1px; border: 1px #eef
solid;
}
td.wordsboard_clicked{ color: #FF0000; background: #ddd; }
td.wordsboard_NOclicked{ color: #3E3E3E; background: #ffe; }
Grazie a chi sa darmi un suggerimento.
> Popolo una tabella con parole desunte da un database. Fin qui tutto
> bene.
> Quando l'utente fa click la parola racchiusa tra <td> </td> cambia
> colore, quando l'utente fa doppio click la parola ritorna al colore
> originale. Tuttavia al doppio click la parola rimane evidenziata come se
> ci fossi passato sopra con il mouse premuto. Come evitarlo? Posto
> frammenti del codice:
[CUT]
> html += '<td onclick="pMouseClick(this);"
> ondblclick="NOpMouseClick(this);" >'
è strano quello che dici, perché é il comportamento degli anchor, non di
tag block come td. Cosa contiene "splitted[jsK]"? Non è che contiene un
anchor?
Se sì risolvi tramite css:
http://www.w3.org/TR/CSS2/selector.html#link-pseudo-classes
http://www.w3.org/TR/CSS2/selector.html#dynamic-pseudo-classes
[CUT]
> //frammento fogli di style
> .wordsboard{ border:3px #738678 solid; position: absolute; top: 25px;
> left: 490px; cursor: pointer; }
> .wordsboard td{ font-family: arial, sans-serif; font-size: 1.00em;
> font-weight: bold; text-align: center; vertical-align: middle; color:
> #3E3E3E;
> background: #ffe; padding: 4px; margin: 1px; border: 1px #eef
> solid;
> }
> td.wordsboard_clicked{ color: #FF0000; background: #ddd; }
> td.wordsboard_NOclicked{ color: #3E3E3E; background: #ffe; }
non è che l'effetto che vedi è a causa di questi bordi e colori che setti?
Grande Cristiano (come sempre sollecito nelle risposte e nell'aiuto),
"splitted[jsK]" contiene una sola parola in formato stringa; jsK è un
semplice contatore per inserire parole diverse in ogni tag.
Non ci sono anchor.
Quando faccio doppio click la parola si evidenzia come se potessi
copiarla; lo stesso effetto che avviene se ci passo sopra il mouse
premuto.
E' proprio questo effetto che voglio evitare. Ma come?
> Grande Cristiano (come sempre sollecito nelle risposte e nell'aiuto),
> "splitted[jsK]" contiene una sola parola in formato stringa; jsK è un
> semplice contatore per inserire parole diverse in ogni tag. Non ci sono
> anchor.
> Quando faccio doppio click la parola si evidenzia come se potessi
> copiarla; lo stesso effetto che avviene se ci passo sopra il mouse
> premuto.
> E' proprio questo effetto che voglio evitare. Ma come?
hai un esempio online visibile?
Lo posso mettere in linea nel pomeriggio.
Comunque, riflettendo, l'evento sembra essere quello proprio di
onbeforeEditFocus.
Se non ricordo male si attiva in automatico con un doppio click su un
oggetto. E' proprio questo che voglio evitare.
Centra qualcosa designmode? E se lo mettessi ad off?
Confused...
> Lo posso mettere in linea nel pomeriggio. Comunque, riflettendo,
> l'evento sembra essere quello proprio di onbeforeEditFocus.
non mi risulta esistere:
http://devedge-temp.mozilla.org/library/manuals/2000/javascript/1.3/
reference/handlers.html
guardando gli eventi IE-Only trovo questo:
http://msdn.microsoft.com/en-us/library/aa769707%28VS.85%29.aspx
parla però di "editable container", non hai parlato assolutamente di
questa parte, hai parlato solo di una tabella dove il testo nel td rimane
evidenziato in modo strano quando clicchi ...
la pagina è in linea all'indirizzo:
http://www.crucienigmi.it/crucipuzzleIN.asp
Se clicchi su una lettera, o su una parola nell'elenco di destra,
lettere o parole cambiano colore.
Con il doppio click, se si clicca sulla lettera o sulla parola, sfondo
e colore ritornano com'erano iniziali, ma ...
la lettera o la parola rimangono evidenziati (sfondo blu, caratteri
bianchi) come se si volesse copiarli.
Questo NON avviene SOLO SE si ha l'accortezza di effettuare il doppio
click in una zona bianca che contiene la lettera o la parola.
Spero di essere stato chiaro.
(come intuibile si tratta di un crucipuzzle da giocare on line).
Grazie
> la pagina è in linea all'indirizzo:
> http://www.crucienigmi.it/crucipuzzleIN.asp
quando apri la pagina segnala errore:
Errore: objt is null
File sorgente: http://www.crucienigmi.it/crucipuzzleIN.asp
Riga: 658
devi sistemare prima di tutto questi errori, perché ciò che rilevi può
essere una conseguenza di questo errore ...
> Se clicchi su una lettera, o su una parola nell'elenco di destra,
> lettere o parole cambiano colore.
Click su una lettera: sfondo viola chiaro e lettera nera bold
> Con il doppio click, se si clicca sulla lettera o sulla parola, sfondo e
> colore ritornano com'erano iniziali,
doppio click su una lettera non evidenziata: vedo lo sfondo della lettera
marroncino e la lettera bianca, ma è il funzionamento dei browser: se fai
doppio click in qualsiasi pagina su qualsiasi parola, la parola viene
evidenziata ...
> ma ... la lettera o la parola
> rimangono evidenziati (sfondo blu, caratteri bianchi) come se si volesse
> copiarli.
> Questo NON avviene SOLO SE si ha l'accortezza di effettuare il
> doppio click in una zona bianca che contiene la lettera o la parola.
No, avviene sempre e comunque (almeno con firefox); per toglierlo basta
cliccare in un qualsiasi altro punto della pagina (non solo nella zona
bianca)
Se non vuoi che l'utente selezioni il testo, qua c'è una soluzione (non
testata):
http://javascript.html.it/articoli/leggi/1567/disabilitare-la-selezione-
del-testo/
> Popolo una tabella con parole desunte da un database. Fin qui tutto
> bene.
> Quando l'utente fa click la parola racchiusa tra <td> </td> cambia
> colore, quando l'utente fa doppio click la parola ritorna al colore
> originale. Tuttavia al doppio click la parola rimane evidenziata come
> se ci fossi passato sopra con il mouse premuto. Come evitarlo?
...skipped!
Non potresti cambiare l'evento o affidarlo ad un tasto con onkeydown?
Perch�, come ben saprai, con un doppioclick si evidenzia il testo di una
parola, con tre click consecutivi l'intera riga.
--
* b *
* y *
* Piero *
#v+
-beati monocoli in terra caecorum-
#v-
Sei un grande!
Provato funziona sia su IE che Firefox. Grazie tante.