替换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