我趕上粘貼事件與$('selector').on('input', function(event) { ... });
上的jQuery(「輸入」)使用event.preventDefault()與
然後我試圖測試什麼被粘貼,如果沒有通過驗證,取消粘貼event.preventDefault()
。不幸的是,在執行監聽器函數時,文本已經被粘貼,並且event.preventDefault()
什麼都不做。
那麼捕捉粘貼事件的好方法是什麼,如果粘貼的東西沒有被驗證,撤銷/阻止粘貼?
我知道我可以使用.on('paste', function(event) { ... })
,但是這並沒有給我粘貼的文本或者粘貼後的輸入元素的內容,除非我使用setTimeout()
和一些等待時間,我想避免使用setTimeout()
。
你可以創建一個jsFiddle的例子嗎? – j08691 2013-03-03 03:25:20
'event.preventDefault()'阻止默認動作,當綁定到'input'事件時,它確實不會阻止您在輸入中鍵入或粘貼任何內容?當從粘貼的內容緩存值時,您必須推遲它獲得一個值,但不是「一分鐘」,將超時設置爲零,它應該仍然工作。 – adeneo 2013-03-03 03:28:06
如果設置'100ms'超時來捕獲粘貼上的輸入值並驗證而不是'分鐘',我想這樣可以。 – SRy 2013-03-03 03:30:16