我想创建一个程序,我将在输入文本字段中键入内容,它将显示跨区域的文本字段的当前值。但问题是,当我输入第一个字符时,它什么也没有显示,当我输入另一个字符时,它显示第一个字符。但我想要完全相同的东西存在于我的文本框中。例如,
输入字段,如果类型1,它什么都不显示,那么我输入2,它显示1,但我想显示当我输入1时,它将显示1,当我输入2时,它将显示12。 / p>
from itertools import cycle, islice
def rolling_window(func, l, n):
yield from (func(islice(cycle(l), i, n+i)) for i in range(len(l)))
答案 0 :(得分:0)
你最好使用
$("input").change(...
作为事件处理程序而不是keypress
答案 1 :(得分:0)
在没有jQuery的情况下实现非常简单。该示例使用onkeyup事件来确保它捕获最后键入的键。 onkeydown也有效,但是在问题中已经注意到了OP背后的角色。
示例 - 运行代码段以进行测试
<html>
<body>
<input placeholder="enter some text" type="text" onKeyup="this.nextElementSibling.innerHTML = this.value">
<span style="color: blue;"></span>
</body>
</html>
&#13;
答案 2 :(得分:0)
您要查找keyup
事件:
$("input").on('keyup', function () {
$("span").text(this.value);
});
答案 3 :(得分:0)
在值发生更改之前,会发生keypress
事件,因此跨度设置了当时已知的值。
与其他用户提到的不同,您不能将change
事件用作触发器(在操作结束时触发),因为在您从输入中删除焦点之前它可能不会触发。
使用keyup
可以提供所需的行为。