我正在使用HTML/JavaScript创建一个终端窗口,并使用textarea作为输入框。我想防止textarea中的文本被删除。例如,如果我在textarea中有文本“C:\>Random Code”,我希望防止用户删除“C:\>”文本。是否可以使用javascript实现此功能?
我正在使用HTML/JavaScript创建一个终端窗口,并使用textarea作为输入框。我想防止textarea中的文本被删除。例如,如果我在textarea中有文本“C:\>Random Code”,我希望防止用户删除“C:\>”文本。是否可以使用javascript实现此功能?
var requiredText = 'C:>';
$('textarea').on('input',function() {
if (String($(this).val()).indexOf(requiredText) == -1) {
$(this).val(requiredText);
}
}
var requiredText = 'C:>';
$('textarea').on('keyup',function(event) {
if (GetSelectionStart(this) < requiredText.length){
event.preventDefault();
event.stopPropagation();
}
}
其中 GetSelectionStart
是一个函数,用于告知选定文本的开始位置(如果没有选定文本范围,则为插入符号位置)。有关一些可能的实现,请参见例如在字符数中获取文本区域中的插入符号位置
此函数假设所需文本始终位于字符串开头。但是,它当然可以针对更复杂的情况进行适应。