2011-02-02 11 views

risposta

6

$("div[contentEditable]").blur() per sfocare tutti gli elementi contentEditable.

$("#elementId").blur() per sfocare un elemento con il suo id.

+0

Penso che tecnicamente dovrebbe essere * $ ('div [contentEditable = "true"]'). Blur() * – KOGI

+0

'div [contentEditable]' verifica la presenza dell'attributo contentEditable, 'div [contentEditable = "true"] 'controlla se quell'attributo è impostato su true. O funzionerà nella maggior parte dei casi. Dovresti essere esplicito solo se imposti contentEditable su un altro valore per disabilitarlo. –

+1

'div [contentEditable! =" False "]' potrebbe essere la scelta migliore per semplicità. – zzzzBov

3

La soluzione suggerita da Roman Resh non funziona quando si fa clic sull'elemento e si preme Invio subito dopo. Non si confonderà ma creerà interruzioni di linea/div.

È possibile impedire completamente questo comportamento.

See this fiddle

$('<div class="temp-contenteditable-el" contenteditable="true"></div>') .appendTo('body').focus().remove();

34

vorrei aggiungere un'altra soluzione che si basa sulla risposta di Omnicon che è corretto BTW. Ho forked his fiddle and updated it.

Il trucco è quello di rimuovere tutte le gamme dopo aver chiamato sfocatura:

$(".editable").blur(); 
window.getSelection().removeAllRanges(); 
+0

Questo ha funzionato per me, grazie. Omnicon non ha funzionato per me, in parte perché ha fatto scorrere l'intero documento verso il basso quando invocato. – MSC

+0

Il removeAllRanges() funziona molto bene, in precedenza uso solo $ (". Editable"). Blur(); e l'elemento contentEditable non si sbarazzerebbe della selezione. Grazie! –

+0

Grazie per la soluzione! 'window.getSelection(). removeAllRanges();' fa il trucco - senza che div editable sia ancora attivo e successivo 'e.codeKey == 13' ritorna aggiungendo una nuova riga. –

0

Aggiunta di tutte le risposte, quando si utilizza qualcosa come

$(".editable").blur() 

pensare sfocatura solo concentrato, come

$(".editable:focus").blur() 

In caso contrario, è possibile che si verifichino dei probabili errori a volte

Problemi correlati