Je développe une extension chromée. Je souhaite afficher une fenêtre contextuelle lorsque j'appuie longuement sur la page ou l'onglet ouvert en cours. Comment puis-je détecter quand un texte sur la page est pressé?Détection d'une pression longue sur le texte de la page [Développement extension Chrome]
Répondre
comme Buley décrit dans cet article: How to detect a long press on a div in Jquery?, vous devez regarder à la fois les événements mouseup et mousedown et calculer la différence.
(function() {
// how many milliseconds is a long press?
var longpress = 3000;
// holds the start time
var start;
jQuery("#pressme").on('mousedown', function(e) {
start = new Date().getTime();
});
jQuery("#pressme").on('mouseleave', function(e) {
start = 0;
});
jQuery("#pressme").on('mouseup', function(e) {
if (new Date().getTime() >= (start + longpress) ) {
// If you want to get the text of the element, use jQuery's element.text()
alert('long press! You pressed: ' + $(this).text());
} else {
alert('long press! You pressed: ' + $(this).text());
}
});
}());
Bien que ce soit un exemple jQuery, cela est également possible sans (voir l'exemple de marche)
Merci. C'est ce que je cherchais. mais il y a une légère différence. Je veux obtenir le texte sur lequel la souris a longtemps appuyé. Ce peut être n'importe quel texte sur la page. – ilovecse
Si je comprends bien, vous voulez retourner la valeur du texte sur lequel vous cliquez? –
oui. Je souhaite retourner le texte sur lequel l'utilisateur a cliqué – ilovecse
Il y a une réponse avec une démo de travail ici: https://stackoverflow.com/questions/19539329/how- to-apply-long-click-event-et-doubleclick-event-sur-le-même-élément-en-javas – Walk