我正在使用$('selector').on('input', function(event) { ... });
捕捉粘贴事件。
然后,我尝试测试已经粘贴的内容,如果未通过验证,则使用event.preventDefault()
取消粘贴。不幸的是,在监听器函数执行时,文本已经被粘贴了,event.preventDefault()
无效。
那么有没有好的方法来捕捉粘贴事件,并且如果粘贴的内容无效,则撤消/防止粘贴呢?
我知道可以使用.on('paste', function(event) { ... })
,但这不会给我已经粘贴的文本或粘贴后输入元素的内容,除非我使用setTimeout()
等待一段时间,但我想避免使用setTimeout()
。
event.preventDefault()
阻止默认操作,当绑定到input
事件时,它并不真正阻止您在输入框中键入或粘贴任何内容。当缓存从粘贴的内容中获取值时,您必须将其推迟以获取值,但不需要等待 "一些分钟",将超时设置为零,它仍然可以工作。 - adeneo100毫秒
而不是一分钟
,那么这应该是可以的。 - SRy