結束動態文本框,我有以下輸入標籤:文本追加到使用jQuery
<input type="text" id="title" class="title" maxlength="20>
我需要「天」被附加到框,用戶鍵入文本的末尾。這是如何完成與jQuery?
我已經試過這樣:
$('#title').on('keyup', function() {
this.value = this.value+' day';
});
,但沒有奏效。
結束動態文本框,我有以下輸入標籤:文本追加到使用jQuery
<input type="text" id="title" class="title" maxlength="20>
我需要「天」被附加到框,用戶鍵入文本的末尾。這是如何完成與jQuery?
我已經試過這樣:
$('#title').on('keyup', function() {
this.value = this.value+' day';
});
,但沒有奏效。
使用jQuery追加末的文本,然後移動插入符號到所需的位置:
$('#title').on('keyup', function(e) {
// Ignore if backspace is pressed
if(e.keyCode == 46){
return false;
}
// Set the value based on the current value length
// If it's longer than 3, "day" is already appended
this.value = (this.value.length<3)?this.value+="day":this.value;
// Move caret to the latest added character
var caretPos = this.value.length-3;
if(this.createTextRange) {
var range = this.createTextRange();
range.move('character', caretPos);
range.select();
}
else {
if(this.selectionStart) {
this.focus();
this.setSelectionRange(caretPos, caretPos);
}
else
this.focus();
}
});
http://WhatHaveYouTried.com –
補充說明。抱歉。 – Jaxkr
你是什麼意思「用戶鍵入」?如果他們輸入「a」並且你追加「日」來獲得「敬意」,然後他們將光標移動到最後並鍵入「b」?你是否再次追加「日」以獲得「adaybday」?如果等到用戶離開該字段後再測試該值是否已經以「日」結尾(如果不添加,那麼)不是更好嗎?嘗試'blur'事件而不是'keyup' ... – nnnnnn