2010-06-17 8 views

Répondre

1

La seule méthode peu fiable que je peux penser est la suivante:

  1. Créer une <span> offscreen (position absolue chemin vers la gauche)
  2. Donner t les mêmes caractéristiques de police que l'élément d'entrée.
  3. peupler en continu avec le texte à partir de l'élément d'entrée mais avant le caret
  4. Utiliser un javascript bibliothèque pour trouver la largeur de pixel de la travée offscreen
  5. de l'utiliser pour déterminer l'emplacement du curseur est relative à la gauche côté de l'élément d'entrée.

Donnez-moi un coup de feu, j'aimerais entendre comment il se avère.

+0

bien, laissez-moi essayer cela. –

+0

@WindChimez J'ai le même problème que le vôtre. Avez-vous résolu celui-ci? Je souhaite que tu l'aies fait! Cela fait 3 ans maintenant que vous avez soulevé cette question. –

0

Donnez ce un coup:

$(document).ready(function(){ 
    $('textarea').bind('keyup', function(e){ 
     var $this = $(this); 
     alert('X: ' + $this.data('mousepos').x + '\nY: ' + $this.data('mousepos').y); 
    }); 

    $('textarea').bind('mousemove', function(e){ 
     $(e.target).data('mousepos', {x: e.pageX, y: e.pageY}); 
    }); 
});​ 

Workin exemple: http://jsbin.com/ibowa3/edit

+0

Merci de vous être retourné rapidement pour jeter un coup d'œil à ma requête. Mais, il semble que ce n'est pas le bon. Dans l'exemple que vous avez donné dans le lien, si nous continuons à taper à l'intérieur de la zone de texte (en laissant la souris intacte), vous pouvez voir que x & y ne changent pas, même si le curseur change de position. Nous devons considérer la souris est absent du tout dans ce scénario –

+0

En fait, j'ai essayé le code moi-même, et cela ne va pas aider. Les IT obtiennent le x, y lors du déplacement de la souris et plus tard, le keycook donnant le même je pense. –

+0

Je ne vous ai pas assez bien digéré, désolé. Je ne pense pas que tu puisses faire ça malheureusement. Vous ** êtes ** capable d'obtenir la position du caret, mais je ne saurais pas comment obtenir les coordonnées x/y de l'écran relatif/absolu en fonction de cela. – jAndy

0

Vous pouvez utiliser event.pagex, LayerX, clientX, screenX sont les super fonctions pour obtenir l'emplacement du curseur DOM. Voici un tutoriel simple à get mouse position.

Questions connexes