如何在按键事件期间阻止使用asp.net mvc在textarea中输入回车符,换行符,单引号和双引号?
答案 0 :(得分:27)
您可以使用jquery并订阅textarea的.keypress()
事件:
$('textarea').keypress(function(event) {
// Check the keyCode and if the user pressed Enter (code = 13)
// disable it
if (event.keyCode == 13) {
event.preventDefault();
}
});
答案 1 :(得分:2)
为了熟悉用户在文本区域内的其他文本/元素的拖放或其中的粘贴文本导致的文本修改,它是必要时也要听change
事件。
此外,我建议使用自jQuery 1.7以来可用的.on()
方法,并检测用户通过事件对象的event.which
属性按下的回车键,以实现实体交叉 - 应用的浏览器行为:
var $textarea = $('#comment');
// events to bind:
$textarea.on('keydown keyup change focus blur', function(e) {
if (e.type === 'change') {
// this event is triggered when the text is changed through drag and drop too,
// or by pasting something inside the textarea;
// remove carriage returns (\r) and newlines (\n):
$textarea.val($textarea.val().replace(/\r?\n/g, ''));
}
if (e.which === 13) {
// the enter key has been pressed, avoid producing a carriage return from it:
e.preventDefault();
}
});