条件触发后我要删除第一个空格
let inp = document.getElementById("in");
function hendler(e) {
if(e.keyCode === 32) {
inp.value = null;
inp.value.replace(/\s/g, '');
}
}
inp.addEventListener('onblur', hendler, false);
<input type="text" id="in" >
答案 0 :(得分:1)
为什么不使用string.trim()
方法
您可以使用以下示例作为您的代码:-在给定代码的第5行中使用inp.value.trim()
下面的代码可以正常工作
var inp = document.getElementById("in");
function hendler() {
inp.value = inp.value.trim();
}
inp.addEventListener('blur', hendler,false);
在inp.addEventListener()
中,您必须使用模糊而非onblur
答案 1 :(得分:1)
您不能将e.keyCode
与blur
事件一起使用。 e.keyCode
将为空,因为您没有触发键事件。它将始终返回0
。您应该更改函数的逻辑。此外,事件名称是blur
,而不是onblur
。请参见下面的代码:
let inp = document.getElementById( 'in' );
inp.addEventListener( 'blur', function() {
var val = this.value
if ( val && val.charCodeAt( 0 ) == 32 ) this.value = val.substr( 1 )
}, false )
<input type="text" id="in" >
然后要从句子开头删除所有空格,请按照下列步骤操作:
let inp = document.getElementById( 'in' );
inp.addEventListener( 'blur', function() {
var val = this.value
if ( val && val.charCodeAt( 0 ) == 32 ) this.value = val.trim()
}, false )
<input type="text" id="in" >