如何在每次按键时做一些事情,而不仅仅是第一次事件



我有一个我认为一定是非常简单的jQuery问题。

当一个用户在我正在工作的网站上创建一个帐户时,他们创建的帐户名称被添加到网站地址之前,这是他们将来访问帐户时使用的地址。

。http://useraccount.thewebsite.com

当用户在注册表单的'create account name'字段中输入帐户名时,我想创建一个工具提示来解释这是什么,并向他们展示地址的样子。

下面是目前为止的代码:
$('input.account-name').keypress(function(){
  $("span.account-name-illustration").replaceWith($(this).val());
});

的输入。Account-name '是输入字段。

的跨度。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

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

所以现在我想知道,我真的想记录每次按键…或者是否有一种方法可以在每次按键后获得输入的值?

非常感谢。

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

您可以通过使用text而不是replaceWith来保留span来修复此问题:

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

最新更新