我试图使用.trim()函数但它仍然允许将空格作为输入。
TA = $(' textarea')。trim();
任何帮助都非常感激:)
答案 0 :(得分:2)
您可以通过检查按下的键是否为空格键并在第一时间返回false来阻止添加它,如果是这样的话:
<script src="http://code.jquery.com/jquery-latest.min.js"
type="text/javascript">
$("textarea").on("keydown", function (e) {
var c = $("textarea").val().length;
if(c == 0)
return e.which !== 32;
});
</script>
答案 1 :(得分:1)
尝试使用keyup事件
$("#text-area").keyup(function(e){
if(this.value.match(" ")){
this.value = this.value.replace(" ", "");
}
});
当你在那个textarea上输入空格时,它会删除空格。
根据您的要求尝试使用更改事件
$("#text-area").change(function(e){
this.value = this.value.trim();
});
答案 2 :(得分:0)
首先你的问题不清楚。我认为你正在寻找一个解决方案,在你的文本区域不允许空白区域。 然后您可以使用以下方法
<强> HTML 强>
<textarea rows="4" cols="50" id="textarea" >
<强>的Javascript 强>
document.getElementById('textarea').addEventListener('keydown', function (e){
if (e.keyCode == 32) {
e.returnValue = false;
return false;
}
}, false);
<强> DEMO 强>
如果您想在开始时避免使用空白</ p>
var yourstring=document.getElementById('textareaid').value;
yourstring.trim();
<强>更新强>
<强> HTML 强>
<textarea id="text1"></textarea>
<强>的javascript 强>
$("#text1").on("keydown", function (e) {
var len = $("#text1").val().length;
if(len == 0)
{
return e.which !== 32;
}
else
{
var pos=$("#text1").getCursorPosition();
if(pos==0)
{
return e.which !== 32;
}
}
});
$("#text1").on("keyup", function (e) {
var pos=$("#text1").getCursorPosition();
if(pos==0)
{
var values =$("#text1").val();
if(values.charAt(0)==' ')
{
values=values.trim();
$("#text1").val(values);
}
return e.which !== 32;
}
});
(function ($, undefined) {
$.fn.getCursorPosition = function() {
var el = $(this).get(0);
var pos = 0;
if('selectionStart' in el) {
pos = el.selectionStart;
} else if('selection' in document) {
el.focus();
var Sel = document.selection.createRange();
var SelLength = document.selection.createRange().text.length;
Sel.moveStart('character', -el.value.length);
pos = Sel.text.length - SelLength;
}
return pos;
}
})(jQuery);
检查正常工作 DEMO