在下面的代碼片段中,我試圖通過使用preventDefault()
來防止用戶輸入新行到<textarea>
。我不想輸入新的行,而是希望回車鍵觸發模糊事件。但是,下面的代碼在用戶更改<textarea>
中的文本並跳到回車後繞過了更改事件。如何確保在文本值更改時更改事件始終觸發?preventDefault()for keypress取消更改事件
$('textarea')
.keypress(function (event) {
if (event.which == '13') {//13 = Enter
event.preventDefault();
$(this).blur();
}
})
.change(function() {// THIS DOES NOT FIRE IF USER PRESSES ENTER
alert('change event');
})
.blur(function() {
console.log('blur event');
});//end: blur()
_I'm試圖阻止用戶輸入新行到textarea_Mmmmm ...似乎你需要的是一個文本輸入。 – elclanrs
這將是一個不錯的選擇,但有些情況下,用戶需要輸入大量文本 - 超過一行就可以了。 – jake
手動觸發change事件'$('textarea').change();'或$(this).change();'當您阻止默認行爲時。 –