替换char OnKeyPress

我有一个textarea输入元素,

如果用户键入“@”,我想用@ [someTextHere]替换它。

我正在使用JQuery的按键事件,但我还没有能够得到我想要的,我不断得到字符串末尾的“@”,即[someTextHere] @。

可能吗?

我的代码:

<html>
    <head>
        <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
    </head>

    <body>
        <textarea id="post-txt"></textarea>
    </body>
</html>

<script>
    $('#post-txt').keypress(function(event){
        var str = $('#post-txt').val(); 

        if(String.fromCharCode(event.which) == '@'){
            $('#post-txt').val(str.substring(0,str.length) + '[TEXT]'); 
            }
    })  
</script>

将不胜感激。


这是因为他在执行函数后添加了字符。您可以防止添加字符并将其添加到代码中。

 if(String.fromCharCode(event.which) == '@'){
    event.preventDefault()
    $('#post-txt').val(str + '@[TEXT]'); 
 }

$(document).find('input').keypress(function(evt){ 
        if(evt.which==50){
            $(this).val($(this).val()+'[Letter to replace]');
            evt.preventDefault();
        }
    });

尝试这个...

链接地址: http://www.djcxy.com/p/26021.html

上一篇: Replace char OnKeyPress

下一篇: Web API Help page not showing XML