返回

javascript-如何使用vue检查blur上的击键?

发布时间:2022-07-18 19:33:59 245
# 前端

在vue文档中没有明确说明,我在网上也没有找到任何类似的问题,所以我在这里问它。

我需要一个 vue 文本输入来返回最后一次击键是什么。与 blur 事件相关的方法包含一个数据对象,因此我无法捕获默认事件对象。我尝试使用自定义键功能,但模糊总是在它们之前触发,因此执行顺序错误。

在下面的示例中,“abcdef”是绑定到输入控件的数据对象。(我删除了 < > 符号,因为 stackoverflow 无法解析它。)

<input

    type="text"

    v-model="abcdef.amount"

    @keyup.esc="cancelChange()"

    @keyup.enter="saveValue(abcdef)"

    @keyup.tab="saveValue(abcdef)"

    @focus="saveOriginalAmount(abcdef)"

    @blur="revertOriginalAmount(abcdef)">

在我的 Vue 方法中

methods: {

    cancelChange(): {} //Triggers revertOriginalAmount

    saveValue(obj): {} //Save value

    saveOriginalAmount(): {} //Save the original value.

    revertOriginalAmount(): {} //Revert the value to original value

}

当 tab 键被触发时,在 saveValue 之前立即调用 revertOriginalAmount()。因此,保存了原始值而不是当前值。我尝试在 revertOriginalAmount 中设置超时以延迟保存(500 毫秒),但它不起作用。此外,这只是解决潜在问题的廉价黑客,即检测哪些击键触发了模糊功能。

那么我应该在@blur的参数中传递什么来获取事件对象呢?

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(1)
按点赞数排序
用户头像