Javascript中的拦截粘贴事件
有没有办法在JavaScript中拦截粘贴事件并获取原始值,对其进行更改并将关联的DOM元素的值设置为修改后的值?
例如,我有一个用户试图复制并粘贴带空格的字符串,并且字符串的长度超过了我的文本框的最大长度。我想截取文本,删除空格,然后使用更改值设置文本框的值。
这可能吗?
回答:
您可以通过附加“ onpaste”处理程序来拦截粘贴事件,并通过window.clipboardData.getData('Text')
在IE中使用“
”或event.clipboardData.getData('text/plain')
在其他浏览器中使用“ ” 来获取粘贴的文本。
例如:
var myElement = document.getElementById('pasteElement');myElement.onpaste = function(e) {
var pastedText = undefined;
if (window.clipboardData && window.clipboardData.getData) { // IE
pastedText = window.clipboardData.getData('Text');
} else if (e.clipboardData && e.clipboardData.getData) {
pastedText = e.clipboardData.getData('text/plain');
}
alert(pastedText); // Process and handle text...
return false; // Prevent the default handler from running.
};
如@pimvdb所述,e.originalEvent.clipboardData
如果使用jQuery ,则需要使用“ ”。
以上是 Javascript中的拦截粘贴事件 的全部内容, 来源链接: utcz.com/qa/418579.html