Javascript OnPaste
Javascript OnPaste
本文关键字:OnPaste Javascript 更新时间:2023-09-26
我现在有这个:
<input type="text" placeholder="Paste text" onPaste="alert(this.value);">
这确实有效,除了它返回一个空白的警报窗口。我没有得到任何价值。帮助?
onpaste
事件在更改input
的value
之前触发。您需要诸如setTimeout
之类的东西:
<input type="text" placeholder="Paste text" onPaste="var e=this; setTimeout(function(){alert(e.value);}, 4);">
我将对this
的引用存储在全局变量中,因为this
在附加到窗口对象的超时函数的作用域内无法访问。
我使用 4 毫秒作为超时,因为它是 HTML5 规范中的最小有效间隔/超时。编辑:如注释中所述,您还可以使用 0
毫秒作为超时,它会自动重新计算为 4
。jsPerf tests.
小提琴
您也可以在onpaste
事件中使用函数调用,将this
作为参数传递,以防止 HTML 与 JS 过多混合。 :)
这里有一个更易于阅读的函数,您可以在多个输入中使用:
function pasted(element) {
setTimeout(function(){
alert(element.value);
}, 0); //or 4
}
只需onPaste="pasted(this)"
即可调用任何输入。
小提琴
这是因为onpaste
事件在内容粘贴到元素(链接)之前触发,因此在您处理它时它还不存在。
现代浏览器支持在事件处理程序中获取剪贴板数据的方法。有关跨浏览器解决方案尝试,请参阅 JavaScript 在粘贴事件(跨浏览器)上获取剪贴板数据。
此外,您始终可以通过在事件处理程序函数中启动一个计时器(10ms 应该足够)来解决问题,该计时器稍后会检查您的输入值。
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 使用php或javascript从facebook相册URL中删除多余的部分
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何在JavaScript中将字符串转换为函数引用
- 模糊事件的Javascript测试
- Javascript更改图标
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 如何使用WCF服务和javascript表单post上传.doc文件
- javascript结合了数组和字典
- 捕获 onPaste 并将事件传递给函数 javascript/jQuery
- Javascript OnPaste
- 在 onpaste 事件后访问 javascript 中的变量
- 如何使用onPaste事件将文本框中粘贴的文本传递给javascript函数
- Javascript onpaste not working
- IE onpaste JavaScript event
- 如何将这个函数添加到现有的由onload / onpaste触发的Javascript中?
- 如何替换 javascript 中的 onpaste 函数
- 每个文本框值的Javascript onpaste事件应拆分并粘贴到相应的文本框中