Quindi ho un div contenteditabile nella mia app Rails e devo essere in grado di visualizzare un piccolo popup sopra il testo quando è evidenziato. Attualmente ho un codice che funziona e visualizza il testo evidenziato in un avviso. Tuttavia, la funzione viene eseguita su mouseup, quindi quando si fa clic sul div per iniziare a digitare o evidenziare, si genera un avviso vuoto.Ottieni il testo selezionato in DIV ContentEditable?
Ecco il mio codice:
function getSelected() {
if (window.getSelection) {
return window.getSelection();
}
else if (document.getSelection) {
return document.getSelection();
}
else {
var selection = document.selection && document.selection.createRange();
if (selection.text) {
return selection.text;
}
return false;
}
return false;
};
$("#content-create-partial").bind("mouseup", function(){
var text = getSelected();
if(text) {
console.log(text);
}
else{
console.log("Nothing selected?");
};
});
Come posso evitare jQuery di eseguire la funzione quando l'utente fa clic sul div contentEditable? Voglio solo che venga eseguito quando il testo attuale è evidenziato.