2017-08-29 4 views
0

Est-il possible de déterminer le style ou l'icône de la souris lorsqu'elle est sur un élément html standard qui n'a pas de paramètre de style de curseur css? Par exemple, l'icône de la souris passe d'une flèche à une main lorsqu'elle est sur un bouton html standard, ou d'une flèche à une icône de saisie de texte lorsqu'elle est sur une entrée de texte standard.Est-il possible d'obtenir l'icône souris/curseur sur les éléments html standard?

Ce code ne fonctionne que si un élément a un paramètre style.cursor.

document.addEventListener("mousemove", function(event) { 
    //console.log("mouse is down") 
    var x = event.clientX, y = event.clientY, 
    elementMouseIsOver = document.elementFromPoint(x, y); 
    console.log("element="+elementMouseIsOver+" cursor="+elementMouseIsOver.style.cursor) 
    }) 

Existe-t-il une autre méthode pour obtenir l'icône de la souris pour les éléments html standard?

+0

Avez-vous essayé 'getComputedStyle()'? (Appelé à partir de votre écouteur d'événement mousemove de sorte que le curseur soit en fait la forme que vous vous demandez à ce moment-là.) – nnnnnn

+0

Cela fonctionne vraiment bien! Merci beaucoup. – techdog

Répondre

0

Une astuce peut ressembler à ceci:

var currentCursor = undefined; 
$('*').mouseenter(function(){ 
    currentCursor = $(this).css('cursor') ; 
}); 

OU sans utiliser JQuery serait:

var currentCursor = undefined; 
addEventListener('mouseenter', function(e) { 
    if (e.target instanceof HTMLAnchorElement) { 
     currentCursor = e.target.style.cursor; 
    } 
}); 
+0

* "À moins qu'une autre balise pour un framework/une bibliothèque soit également incluse, une réponse JavaScript pure est attendue." * - à partir du [info] (https://stackoverflow.com/tags/javascript/info) affiché lorsque vous survolez le passez la souris sur la balise "javascript". (Mais si vous pensez que vous devez recommander une solution en se basant sur une bibliothèque, mentionnez au moins * quelle * bibliothèque.) – nnnnnn