Je suis curieux de savoir si quelqu'un sait comment je pourrait déclencher une fonction à exécuter si/une fois que l'utilisateur a terminé la sélection de texte sur la page web? Je voudrais que l'utilisateur puisse sélectionner du texte, et après un court délai(ou immédiatement, à ce stade, il n'a pas grande importance) d'une superposition de bouton s'affiche à côté du texte que l'utilisateur peut ensuite cliquer sur et je revenir en arrière et d'exécuter plus de mon code qui est basée sur la sélection. C'est pour une extension de Firefox.
Un exemple similaire qui je pense serait comme dans IE où vous pouvez sélectionner le texte, puis il ouvre la "accélérateurs web". Je suis à 99% sûr je sais comment je fait de superposition sur le bouton, et d'obtenir la position du texte sélectionné, mais je n'ai aucune idée de comment vérifier pour voir si il n'y a rien sélectionné, sans en faire une sorte de boucle infinie, ce qui semble juste comme une idée terrible.
Merci à l'avance!
EDIT:
//In my overlay.js with the rest of my sidebar code
isTextSelected: function () {
var myText = cqsearch.getSelectedText();
var sidebar = document.getElementById("sidebar");
var sidebarDoc = sidebar.contentDocument || document;
var curHighlightedDiv = sidebarDoc.getElementById("testDiv");
curHighlightedDiv.innerHTML = "Current text selection:" + myText;
}
};
//In my on firefox load function I added this
document.onmouseup = cqsearch.isTextSelected;
C'est ce que je dois venir avec l'aide de Robert suggestion, et il m'a fallu un peu de temps à apprendre tout au bon endroit, mais il fonctionne très bien! Maintenant, sur la position de mon bouton. Merci une tonne!