检测输入框中的粘贴操作

30

我有一个输入框,想要使用vbscript或javascript(不用jquery)来捕获粘贴事件。


检查答案 https://dev59.com/jnA75IYBdhLWcg3wlqOh#68277966 - MD SHAYON
3个回答

39

使用 onpaste 事件来捕获事件并在Javascript中执行所需操作。例如,要禁用输入文本字段中的粘贴功能:

<input type="text" onpaste="return false;" />

9

1
Mozilla表示这不在任何标准跟踪中:https://developer.mozilla.org/zh-CN/docs/Web/API/HTMLElement/onpaste - Michael Cole

6

仅供未来读者参考。

即使有 onpaste="return false;" 属性,您仍然可以将文本拖放到输入框中。如果想要避免这种情况,您可以执行以下操作:

var input_element = document.getElementById("Element");
input_element.addEventListener("drop", function (event) {
    var types = event.dataTransfer.types;
    
    if (types.length > 2 || types.indexOf("text/plain") === -1)
        event.preventDefault();
    else {
      setTimeout(function () { input_element.value = ""; }, 10);
    }
}, false);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接