键入时的JavaScript文本操作?

键入时的JavaScript文本操作?,javascript,jquery,html,Javascript,Jquery,Html,我有一个textarea,用户需要以特定的方式键入某些内容,但是textarea中显示的文本需要与他正在键入的文本不同。所以基本上我需要在每次按键时调用某种函数。我试着用onkeydown和onkeydup来做,但没有成功 我将举一个例子来更好地解释它。“字母按下”将是用户真正键入的文本,“字母显示”是显示在文本区域中的文本 信件催促:“你好,你能帮我做点什么吗?没那么难” 信上写着:“你好,我不需要你的帮助?没那么难。” 所以,我想要的是,当我按下“Hello”之后的第二个“逗号”时,我的文本

我有一个
textarea
,用户需要以特定的方式键入某些内容,但是
textarea
中显示的文本需要与他正在键入的文本不同。所以基本上我需要在每次按键时调用某种函数。我试着用
onkeydown
onkeydup
来做,但没有成功

我将举一个例子来更好地解释它。“字母按下”将是用户真正键入的文本,“字母显示”是显示在
文本区域中的文本

信件催促:“你好,你能帮我做点什么吗?没那么难”
信上写着:“你好,我不需要你的帮助?没那么难。”

所以,我想要的是,当我按下“Hello”之后的第二个“逗号”时,我的文本开始在textarea中显示预先编写的文本,这将不同于我键入的文本

当我使用“问号”时,我想再次开始显示真实的文本。第二个“逗号”和那个“问号”之间的所有内容都必须存储到一个变量中,之后我将使用该变量

var hiddenText = ", i dont want your help";
更新: 我接近使它工作,但目前它的工作有点“缓慢”。首先显示输入的字母,输入第二个字母后过滤第一个字母。我需要它是即时的,所以函数在字母显示在textarea之前被调用。我将字符串放入数组中,然后将当前字母与预先编写脚本的字符串中的同一索引字母进行比较,从而使其正常工作。如果是相同的,则保留它;如果是不同的,则从预先编写脚本的字符串中获取字母

函数过滤器(){
//$ufText是键入的未筛选文本。
//$psTextArray是预先编写脚本的文本。
//$filtered text是过滤文本。
让$ufTextArray=[];
让$psTextArray=[];
让$filteredText=“”;
设$ufText=$(“#txt”).val();
$ufTextArray=$ufText.split(“”);
log($ufTextArray);
设$psText="你好,你能帮我点什么吗?你好,你能帮我点什么吗?你好,你能帮我点什么吗?你好,你能帮我点什么吗?你好,你能帮我点什么吗?你好,你能帮我点什么吗?你好,你能帮我点什么吗?你好,你能帮我点什么吗什么?你好,你能帮我点什么吗?你好,你能帮我点什么吗?你好,你能帮我点什么吗?你好,你能帮我点什么吗;
$psTextArray=$psText.split(“”);

对于(假设i=0;i假设您有文本区域

<textarea rows="4" cols="50" id="testfield1"></textarea>
让我们来分析一下:

$(document).ready(function() { });
这是jQuery对Document ready函数的缩写;它意味着脚本在加载文档后运行

function(){}
加载文档后,将执行零件

$('#testfield1').on('keyup paste', function() { });
此函数使用jQuery选择器语法从DOM中获取textarea。它为“keyup”和“paste”事件分配一个事件侦听器。现在,每当这些操作之一发生时,此函数中的所有内容都将执行

我将让您来实现您希望textarea执行的具体操作,但它应该发生在这个匿名函数中

val()
功能


查看此处的实际操作

谢谢,但这对我不起作用。我需要在输入时对文本进行逐字过滤。实时过滤。问题是我知道我正在键入什么,但站在我旁边的人认为我正在键入其他内容,需要逐字进行过滤。问题是,我永远不知道哪些内容不会他是真正的输入,所以我不知道要过滤什么。我需要的是一种方法,在我键入“,”和“?”之后就开始过滤所有内容?“。其他一切都很好。但是过滤需要在每个字符输入上进行。是的,就像我说的,你需要在事件侦听器中实现你自己的逻辑;每次都会触发。你可以在“keyup”侦听器闭包中添加一个参数“e”来获取事件,然后用e.keyCode()按下键如果用户没有键入逗号,或者键入“早上好,…”怎么办?请注意,使用键事件更改用户正在键入的字段的内容会变得很麻烦,因为您需要跟踪光标位置,以防用户编辑现有字符串的开头或中间。整个要点是以特定的方式键入文本,因此如果输入不正确,它将无法工作,这将强制用户输入需要输入的内容。
val()