Je veux le code JavaScript pour détecter le type de curseur. P>
Par exemple, lorsque le curseur survole dans Textarea, il passe de la valeur par défaut au texte. P>
4 Réponses :
Je pense que vous pouvez lire la propriété mais l'idée de détecter le type de curseur me fascine toujours et si quelqu'un sait comment j'aimerais entendre parler de ça . : D p> comme une solution alternative, plutôt que de lire le type de curseur, pourquoi ne définissez-vous pas un gestionnaire d'événements pour quand elle entre dans un élément qui le changerait? Ce serait beaucoup moins sujet aux erreurs et probablement plus directs, car je ne pense pas que vous vous souciez tellement de souci du curseur, mais si la souris est entrée dans un élément spécifique. P> Cursor code> CSS comme vous pouvez le définir, mais vous devez le faire à partir d'un élément spécifique, car Afaik il n'y a aucun moyen de simplement lire le type de curseur de la fenêtre. ou objet de document. Après cette logique, pour obtenir le type de curseur actuel, vous devez trouver l'élément actuel de la souris et lisez son
curseur code> CSS. Cependant, vous devez constamment vérifier pour voir si le curseur a changé, ce qui est lent et est sujet à une erreur (en règle générale, essayez presque toujours d'essayer de mettre votre code dans un gestionnaire d'événements pour réagir à quelque chose au lieu de vérifier constamment si c'est déjà arrivé et mettant votre code dans cette fonction sa fonction plus logique, efficace, plus robuste et claire.)
$("#textbox").mouseover( function() {
//I know the cursor has changed because it is now in a textbox
});
Mais si aucune règle CSS set, ce que je peux faire!
@mkotwd Si aucune règle CSS n'est définie, ce sera le curseur standard - pour textboxes ceci est curseur: texte; code>
Vous pouvez le faire, mais ce n'est pas joli et sera probablement assez lent en fonction du nombre d'éléments que vous avez sur votre page.
$('*').mouseenter(function(){ var currentCursor = $(this).css('cursor') ; //do what you want here, i.e. console.log( currentCursor ); });
J'ai une belle extension de jQuery parfait pour ce type de chose à cet essentiel:
https://gist.github.com/2206057 p> blockquote>
Pour l'utiliser, faites simplement quelque chose comme: p>
xxx pré> aussi p>
xxx pré> doit également mentionner, Si vous soumettez plusieurs éléments tels que
$ ("# eleid1, .elementswiththisclass") code> pour "position" et "ishover" puis il retournera un tableau code> contenant des objets tels que: p>
xxx pré> p>
Vous pouvez détecter le type de curseur à l'aide de JavaScript
comme p> et le code JavaScript doit ressembler à ceci p> Vous pouvez également consulter ce jsfiddle pour la détection de Curseur JS P> Ce qui précède est le code JQuery écrit, vous pouvez également utiliser le Vanilla JS pour que vous ayez juste besoin de le changer en p> et le JavaScript devrait ressembler à ceci p > function detect_cursor() {
alert("test");
var ctl = document.getElementById('sample_text');
var startPos = ctl.selectionStart;
var endPos = ctl.selectionEnd;
alert(startPos + ", " + endPos);
};
C'est pour le curseur du clavier. L'OP est de demander le curseur souris i>.
Essayiez-vous de détecter le type de curseur actuel ou de la définir vous-même? Si vous essayiez de la définir, il y a une foule d'autres questions qui sont duplicats et cela sera fermé. (Si j'étais vous, je changerais de l'intention de la question afin qu'il souhaite détecter le type de curseur actuel de sorte que ce n'est pas simplement un autre duplicata de paramétrage du type de curseur, mais le choix est totalement à vous :)
Mais je ne veux pas régler le type, mais l'obtenir n'importe où dans la page ..
Dites-nous pourquoi vous voulez faire cela. Je suppose qu'il y a une voie plus facile à votre solution. FWIW, le curseur ne fait pas partie du DOM, de sorte que vous n'allez pas être en mesure d'obtenir beaucoup d'informations. À propos du mieux que vous puissiez faire, c'est comprendre sa position et faire des hypothèses de cela.