javascript - slim - :change handler on input fires only after blur event

标签 javascript svelte

我构建了一个自定义输入字段:

<div class="field-wrapper">
  <input
    title={passwordError[$language]}
    name="password"
    on:change={e => updatePasswordError(password.length < 8)}
    bind:value={password}
    placeholder="Password"
    type="password" />
  <div style={`opacity: ${passwordError.show ? 1 : 0}`}>
    {passwordError[$language]}
  </div>
</div>

密码变量在文件顶部以 null 开头。我的问题是 on:change 处理程序不会对每个新字符触发,而只会在第一个字符和我离开字段后触发(所以在模糊事件上)。那么我做错了什么?我的目标是错误消息在具有正确的长度后消失。

感谢您的帮助。

最佳答案

试试这个:

<div class="field-wrapper">
  <input
    title={passwordError[$language]}
    name="password"
    on:keyup={e => updatePasswordError(password.length < 8)}
    bind:value={password}
    placeholder="Password"
    type="password" />
  <div style={`opacity: ${passwordError.show ? 1 : 0}`}>
    {passwordError[$language]}
  </div>
</div>

每次您按下此输入中的任意键时,此处的输入都应调用该函数

关于javascript - slim - :change handler on input fires only after blur event,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59752249/

相关文章:

svelte - 在 Svelte 中中断迭代(每个)?

javascript - 在 html5 canvas 中渲染大量元素

javascript - Chrome 扩展程序 : Open tab, 转到 url,填写表格并提交表格

javascript - CSS 的 future 版本会支持父代或祖先选择器吗?

javascript - 存储应用程序配置设置

javascript - 更新 Svelte : Package subpath './compiler.js' is not defined by "exports" 后生成错误

babeljs - 如何在 svelte/sapper 中使用第 3 阶段语法?

javascript - 查找特定文本并获取完整文本

svelte - 如何在单个文件中拥有多个服务器(sapper)获取、发布等路由?

javascript - 使用某些 JS 框架的可重用组件或小部件