我有一个我认为一定是非常简单的 jQuery 问题。
当用户在我正在使用的站点上创建帐户时,他们创建的帐户名称会添加到站点地址之前,这是他们将来用来访问其帐户的地址。
例如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
这在某种程度上是有效的。除了它只是不断地不断添加每个按键,忽略删除后输入中的实际内容或将光标放在现有字符之间等。
所以现在我想知道,我真的想记录每个按键...还是有办法在每次按键后获取输入的值?
非常感谢帮助。
最佳答案
由于您只是将 span
替换为文本,因此 span.account-name-illustration
选择器将不会在后续调用中找到任何内容。
您可以通过使用 text
而不是 replaceWith
来保留 span
来解决此问题:
$("span.account-name-illustration").text($(this).val());
关于javascript - 如何在每次按键时做某事,而不仅仅是事件的第一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15463510/