http://jsfiddle.net/ZjYT2/2/
Non si può impedire di perdere il focus della div modificabile, altrimenti il panorama non può funzionare, ma è possibile memorizzare la posizione del cursore e ripristinarlo in seguito (un semplice focus
renderebbe il cursore per andare all'inizio invece della posizione originale).
Sfortunatamente, in un div abilitato contentEdit, il metodo per ottenere la selezione corrente è molto più complicato della sola lettura/impostazione del valore selectStart
(utilizzato da textareas). Il modo migliore è quello di utilizzare una libreria esterna per questo: https://code.google.com/p/rangy/
var $keyIn = $('#keyIn');
var savedSel;
$keyIn.bind('keydown mouseup', function(){
savedSel = rangy.saveSelection();
})
$('#map').bind('mouseup', function(){
rangy.restoreSelection(savedSel);
savedSel = rangy.saveSelection();
$keyIn.focus();
});
Il problema con i tasti "m" succede ancora ma solo in Chrome
approccio
fonte
2013-08-17 22:47:55
Compagno, qualsiasi fortuna con le soluzioni? –