在两个$$标志之间书写时识别

我有一个文本域,我正在写一些文字。

为了简单起见,我希望每当我开始在两个$$之间写入时,该alert('Boom!')会跳出来。

例如,我有一个空白的文本字段并开始键入(光标是“|”符号)

 Today is a really nice day| 

没有任何反应,开始打字

 Today is a really nice day, $|$ 

仍然没什么,但现在我开始打字

 Today is a really nice day, $someText|$ 

警报框应跳出这些美元符号之间的每个字母。

为什么我需要这种function? 每次用户开始输入他/她的等式时,我都想要实时方程预览(MathJax渲染),我可以通过$$符号识别它是一个等式(两者之间的所有内容都被渲染)。

编辑:在文本字段中可以使用多个$$。 脚本必须识别当前活动的那个(光标位置在它的$$之间)。

您可以使用jQuery插入符插件

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

注意:从第8行编辑和删除这些字符Ôªø

replace 。 (除了使用匹配模式的索引之外,不要替换任何东西)

 $("#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"); } }); } }); 

演示: http : //jsfiddle.net/xqXXb/

只是展示如何做到这一点。 你可以改善这一点。

使用

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

为了更好的结果。