在两个$$标志之间书写时识别
我有一个文本域,我正在写一些文字。
为了简单起见,我希望每当我开始在两个$$之间写入时,该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){ ...
为了更好的结果。