【问题标题】:Paste in default textarea if no input is focused如果没有输入焦点,则粘贴到默认文本区域
【发布时间】:2020-04-13 19:07:06
【问题描述】:

当用户粘贴任何内容并且页面上没有输入/文本区域时,我希望粘贴事件由特定的默认 textarea 处理。我该怎么做?

【问题讨论】:

    标签: javascript reactjs textarea


    【解决方案1】:

    所以监听粘贴事件。确定它是否在输入中。如果不是,请读取剪贴板数据并对其进行处理。

    window.addEventListener("paste", function (evt) {
      if (!['TEXTAREA', 'INPUT'].includes(evt.target.nodeName)) {
        const clipboardData = evt.clipboardData || window.clipboardData
        const pastedData = clipboardData.getData('Text')
        var ta = document.querySelector("textarea")
        ta.value = ta.value + pastedData
      }
    })
    <p>Hello</p>
    <textarea></textarea>
    <input />
    <p>Hello</p>

    【讨论】:

    • 我可以将 paste 事件发送到 textarea 以便其值自动更新,而无需访问剪贴板 API 并手动更新它吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-12
    • 1970-01-01
    • 2017-11-08
    • 1970-01-01
    • 1970-01-01
    • 2013-05-18
    • 2011-02-28
    相关资源
    最近更新 更多