我正在使用這些事件來嘗試評估表單輸入,但如果窗體是由瀏覽器自動填充的,則這些事件不會觸發。我怎樣才能使自動填充事件觸發?Jquery .keyup .keydown .keypress不檢測瀏覽器自動填充
6
A
回答
2
不幸的是,無法檢測瀏覽器自動填充。例如,使用setInterval
來以相當高的頻率運行一個函數,該函數檢查原始值(或空值)是否與輸入值匹配並以此方式觸發響應。如果你不想這樣做,你可能是SOL,因爲瀏覽器甚至不會觸發.change
,並且任何事件很可能不是跨瀏覽器兼容的。
您也可以在表單提交上運行驗證事件,這應該同樣有效。
+0
是在提交技術上的問題是我正在改變基於內容驗證的輸入邊框的顏色,所以我需要事件發生每次它被改變 –
0
通過綁定到.click()
和/或.dblclick()
事件,您可以僞裝所需的行爲。
這並不能保證,但如果他們決定從框中選擇「批准」自動填充功能,則可能會抓取額外的鼠標點擊。
2
我知道這是一個相當古老的問題,但我在使用e.preventDefault()函數後解決了同樣的問題。
$("#email").keyup(function (e) {
e.preventDefault();
如果您通過瀏覽器中輸入的建議自動填充它會發現選擇這種方式。用鼠標點擊建議時,問題仍然存在,但如果您在選擇它之後按任意鍵,則它仍可以正常工作。
最終解決
我發現這個職位上的計算器:https://stackoverflow.com/a/24746108/3481005
和使用。對( 「輸入」)的伎倆!
$("#email").on("input",function (e) {
相關問題
- 1. jQuery - keydown/keypress/keyup ENTERKEY檢測?
- 2. 在選擇之前檢測瀏覽器自動填充
- 3. 瀏覽器自動填充
- 4. 如何使用casperjs用keydown/keyup/keypress填充輸入字段?
- 5. jquery keypress,keyup和keydown實時驗證
- 6. jQuery .keypress&.keydown。which
- 7. 命令行瀏覽器自動填充
- 8. 在瀏覽器中自動填充
- 9. 瀏覽器自動填充事件
- 10. Angular 2和瀏覽器自動填充
- 11. .keypress在瀏覽器不工作(除鉻)
- 12. 如何檢測用戶是否使用瀏覽器的自動填充來填充輸入?
- 13. 樣式自動填充或自動填充默認瀏覽器下拉列表
- 14. 當用戶使用瀏覽器自動更正時jQuery檢測
- 15. jQuery:反應形成自動填充瀏覽器
- 16. 檢測移動瀏覽器
- 17. keyup keydown jquery處理
- 18. 瀏覽器默認填充
- 19. 瀏覽器檢測jQuery的?
- 20. jQuery瀏覽器檢測?
- 21. jQuery 1.6瀏覽器檢測
- 22. Javascript/jQuery瀏覽器檢測
- 23. JQuery檢測移動瀏覽器?
- 24. JQuery Keydown,Keypress,Keycode等
- 25. 自動跨瀏覽器視覺檢測
- 26. 瀏覽器自動檢測語言
- 27. 瀏覽器地址自動填充不填充「狀態」SelectField元素
- 28. 自動填充不會在谷歌瀏覽器
- 29. 移動瀏覽器檢測
- 30. 瀏覽器檢測
我前面研究過這個,我不相信你可以,瀏覽器自動填充沒有事件發生。會對任何答案感興趣:) –
不知道你在做什麼,你可以添加一個'.change()'事件處理程序嗎?我真的不確定這個事件是否會引發瀏覽器自動填充。 – jaredhoyt
按照Jared的建議,我會嘗試'.change()',但如果這樣做不起作用,你可能不得不使用'.blur()'。 – nnnnnn