Ho cercato di chiedere questo prima, senza alcuna fortuna di spiegare/dimostrare un esempio funzionante in cui si verifica l'errore. Quindi, ecco un altro tentativo:Segnaposto in contenteditable - problema evento focus
Sto tentando di replicare un effetto segnaposto su un DIV contenteditable. Il concetto di base è semplice:
<div contenteditable><em>Edit me</em></div>
<script>
$('div').focus(function() {
$(this).empty();
});
</script>
Questo può sometomes lavoro, ma se il segnaposto contiene HTML, o se c'è qualche altra elaborazione in corso, cursore del testo della modificabile del DIV viene rimosso, e l'utente deve ri-click il DIV modificabile per essere in grado di iniziare a scrivere (anche se è ancora a fuoco):
Esempio: http://jsfiddle.net/hHLXr/6/
non posso utilizzare un trigger di messa a fuoco nel gestore, dal momento che creerà un ciclo di eventi. Quindi ho bisogno di un modo per reimpostare il cursore del cursore sul DIV modificabile o in altri modi per mettere a fuoco.
Un altro +1 per * RangeMaster *. Ho pensato di mantenere le cose semplici eviterei i problemi del cross browser, ma è stato piuttosto ingenuo da parte mia. –
Dolce! Speravo che saresti stato con me. Rangemaster! – David
@AndyE: Grazie. Potrebbe esserci un modo più semplice. Dovrebbe esserci, davvero, ma non sono riuscito a trovarne uno in fretta. –