我有一个与onChange事件相关联的Javascript函数。我知道有些浏览器在文档或元素级别都支持onPaste。有没有办法确定onChange事件是否是由“粘贴”引起的-我尝试添加一个全局变量,该变量在触发onPaste时设置,然后在我的onChange例程结束时重置它,但不能保证onPaste函数在onChange之前被调用。
发布于 2010-11-05 01:47:35
这对我来说很好用:
<input type="text" onchange="ValueChanged(event, this);" onpaste="this.setAttribute('pasted', '1');"/>
<script type="text/javascript">
function ValueChanged(evt, sender) {
var blnCameFromPaste = ((sender.getAttribute("pasted") || "") == "1");
if (blnCameFromPaste)
alert("changed by paste");
else
alert("changed without paste");
sender.setAttribute("pasted", "0")
}
</script>发布于 2010-11-08 23:25:54
你可以使用onKeyPress/onKeyUp/onKeyDown/onPaste代替onChange。
发布于 2010-11-05 01:25:45
我不认为你能普遍做到这一点。请参阅测试此功能的current state。
检测粘贴的一种方法是一旦字段获得焦点,就计算“按键”之间的时间间隔。
https://stackoverflow.com/questions/4099317
复制相似问题