在两个$$符号之间书写时进行识别



我有一个文本字段,我正在其中写入一些文本。

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

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

Today is a really nice day|

什么都没发生,开始键入

Today is a really nice day, $|$

仍然没有,但现在当我开始键入时

Today is a really nice day, $someText|$

在这些美元符号之间的每一个字母都应该跳出一个警告框。

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

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

您可以使用jQuery插入符号插件

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

注意:编辑并删除第8行的这些字符

和CCD_ 2函数。(不是替换任何东西,而是使用匹配图案的索引)

$("#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){ ...

以获得更好的结果。

最新更新