2

有谁知道将执行代码完成类型功能的 jQuery(或纯 JS,没关系)的函数或插件?但是有可变的选项吗?就像我想开始打字一样[b],当我添加最后一个括号时,它会自动添加[/b]到光标之后?如果有人知道这样的事情,那就太好了,而且可以节省大量时间。

4

1 回答 1

2

通过使用JQuery Caret Plugin,您可以使用如下代码:

<textarea id="codeInput" cols="80" rows="50">content</textarea>
<script type="text/javascript">

    var tagDict = {
      "[b]" : "[/b]",
      "[c]" : "[/c]",
      "[d]" : "[/d]"
    };

    $(document).ready(function () {
        $('#codeInput').keyup(function () {
            var test = $(this).val();
            var tagStart = test.substr(test.length - 3, 3);
            if (tagDict[tagStart]) {
                $(this).val(test + tagDict[tagStart]);            
                $(this).caret(test.length, test.length);
            }
        });
    });
    </script>

它并不完美,但它可能是完整代码完成功能的开始。

于 2012-09-08T17:54:39.090 回答