Reconnaître en écrivant entre deux signes $$

J’ai un champ de texte dans lequel j’écris du texte.

Par souci de simplicité, je souhaite que cette alert('Boom!') Apparaisse chaque fois que je commence à écrire entre deux dollars.

Par exemple, j’ai un champ de texte vide et commence à taper (le curseur est un signe “|”)

 Today is a really nice day| 

rien ne se passe, commencez à taper

 Today is a really nice day, $|$ 

toujours rien, mais maintenant, quand je commence à taper

 Today is a really nice day, $someText|$ 

Une case d’alerte doit apparaître pour chaque lettre entre ces signes dollar.

Pourquoi ai-je besoin de ce genre de fonctionnalité? Je veux un aperçu en direct de l’équation (rendu MathJax) chaque fois que l’utilisateur commence à taper son équation, et je peux reconnaître que c’est une équation avec des signes $$ (tout ce qui est entre les deux est affiché).

EDIT: Plusieurs $$ sont possibles dans un champ de texte. Le script doit reconnaître celui qui est actuellement actif (la position du curseur est entre ses $ $).

Vous pouvez utiliser le plugin jQuery caret

http://examplet.buss.hk/download/download.php?plugin=caret.1.01

remarque: éditez et supprimez ces caractères Ôªø de la ligne 8

et replace funcition. (ne pas remplacer quoi que ce soit mais utiliser l’index du motif correspondant)

 $("#myText").bind("keyup", function(e){ var text = $(this).val(); var caret = $(this).caret().start; if(text && text.length > 0){ text.replace(/\$.*?\$/g, function(m, n){ if(caret > n && caret < (n + m.length)){ alert("BOOM"); } }); } }); 

démo: http://jsfiddle.net/xqXXb/

Je montre juste comment le faire. Vous pouvez améliorer cela.

utilisation

 $("#myText").bind("keyup keydown change", function(e){ ... 

pour un meilleur résultat.