如何在每个按键上做一些事情,而不仅仅是事件的第一个

时间:2013-03-17 16:59:26

标签: javascript jquery forms validation

我认为必须是一个非常简单的jQuery问题。

当用户在我正在处理的网站上创建帐户时,他们创建的帐户名称会被添加到网站地址中,这是他们将来用来访问其帐户的地址。

e.g。 http://useraccount.thewebsite.com

当用户在注册表单的“创建帐户名称”字段中键入帐户名称时,我想创建一个工具提示,说明这是什么,并向他们显示地址的外观。

到目前为止,这是我的代码:

$('input.account-name').keypress(function(){
  $("span.account-name-illustration").replaceWith($(this).val());
});

'input.account-name'是输入字段。

'span.account-name-illustration'是这样的:

<p>Your account address will be https://<span class="account-name-illustration">something</span>.thewebsite.com.</p>

这适用于第一个按键,但没有。

所以,经过一段时间的骚动,我发现了这个:

http://docs.jquery.com/Events/keypress

在某种程度上有效。除了它只是不断地添加每个按键,在删除或将光标放在现有字符之间后忽略输入中的实际内容等。

所以现在我想知道,我是否真的想记录每个按键...或者有没有办法在每个键盘后获取输入的值?

非常感谢。

1 个答案:

答案 0 :(得分:2)

由于您仅使用文字替换span,因此span.account-name-illustration选择器在后续调用中找不到任何内容。

您可以使用span代替text保留replaceWith来解决此问题:

$("span.account-name-illustration").text($(this).val());