【问题标题】:How to track changes in the currently focused input in Vue.js?如何跟踪 Vue.js 中当前焦点输入的变化?
【发布时间】:2019-12-21 11:53:08
【问题描述】:

使用document.activeElement,我可以获得对当前焦点元素的引用,但这当然不是反应性的,所以我不能在计算属性中使用它。

解决此问题的最佳方法是什么?我希望我的 Vue 应用程序中的任何组件都能够监听页面上当前焦点输入的 valueselectionStartselectionEnd 属性的变化。

我怎样才能实现这样的目标?或者是否有另一种(更好的)方法来跟踪 Vue 中当前焦点输入的属性?

【问题讨论】:

    标签: vue.js focus computed-properties


    【解决方案1】:

    您可以在createdfocusin 事件中添加 eventListener

    created() {
      document.addEventListener('focusin', this.doSomething)
    },
    

    并在方法中使用参数edoSomething 中接收这个重点元素

    methods: {
      doSomething (e) {
        console.log(e.target)
      }
    

    【讨论】:

    • 这如何帮助我跟踪焦点输入的valueselectionStartselectionEnd 属性的变化?当然,它会让我在焦点时看到它们的值,但是如果它们在任何时候发生变化输入被聚焦呢?
    • 您的意思是要在输入中获取突出显示的文本吗?
    • 是的,或者没有突出显示的文本......这就是selectionStartselectionEnd 告诉你的。见:developer.mozilla.org/en-US/docs/Web/API/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多