在文本区每个单词前插入字符仅使用jquery,在文本区输入的每个单词之前插入字符"#"。问题是第一个单词只插入了#。我所做的休息demo at: http://jsfiddle.net/LKUbr/11/
<textarea name='name' id='name'></textarea>
<input type='button' value='Sign Up' id='signUp' onclick="count()"/>
function count(){
var words = $('textarea').val().split(' ');
words='#'+words;
alert(words);//or return words.length;
}
我不知道你到底想要什么,但是
$("#event_content").keyup(function(e,v){
var text = $(this).val();
return $(this).val(text.replace(" ", "#"));
});
它将返回abc#sd#sd每个空格将被替换为#
http://jsfiddle.net/jrx5Z/49/您可以在完成代码后添加空格。否则它们会继续相乘。正则表达式可用于解决此问题。
$("#event_content").keyup(function () {
var text = $(this).val();
if(text.charAt(0) !== '#')
text = '#' + text;
text = text.replace(/( )+(#)*( )*/g, " #");
return $(this).val(text);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<textarea id="event_content" cols="60" rows="20"></textarea>