Итак, у меня есть контент-доступный div в моем приложении Rails и должен иметь возможность отображать небольшое всплывающее окно над текстом, когда оно выделено. В настоящее время у меня есть код, который работает, и он отображает выделенный текст в сообщении. Тем не менее, функция выполняется в mouseup, поэтому, когда вы нажимаете на div для начала ввода или выделения, он выдает пустое предупреждение.Получить выделенный текст в ContentEditable DIV?
Вот мой код:
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?");
};
});
Как предотвратить JQuery от выполнения функции, когда пользователь нажимает на contentEditable DIV? Я хочу, чтобы он выполнялся только при отображении фактического текста.