簡體   English   中英

Chrome for iOS(iPad / iPhone)不會觸發輸入焦點事件

[英]Chrome for iOS (iPad/iPhone) does not fire focus event for inputs

我可以簡單地檢測出是否在Android和iOS上打開了軟件鍵盤:

$(document).on({
    focus: function() { keyboardOpened = true; },
    blur: function() { keyboardOpened = false; }
}, 'input'); //catch all focus and blur events fired on any input element

它用於防止用戶在編寫消息時執行某些操作(例如,忽略調整大小事件)。

它適用於除iOS上的Chrome之外的所有瀏覽器。 我已經在網站上添加了Firebug Lite,但是沒有錯誤,只是事件從未觸發,打開SW鍵盤時網絡無法正常工作。

這是一個小提琴: http : //jsfiddle.net/WYULR (單擊輸入並查看警報)

任何人都知道原因或解決方法嗎?

我也得到了:(我的解決方案是使用以下方法檢測ipad + chrome:

var isCriOS = /CriOS/.test(navigator.userAgent);

我嘗試了https://github.com/gabceb/jquery-browser-plugin + webkit類型區分代碼,可在此處找到如何檢測chrome和safari瀏覽器(webkit),但無法正常工作。

如果是ipad + chrome,請對該字段應用“ click”事件以執行相同的操作……這僅在您將唯一的焦點來自用戶點擊時才是好方法,因為調用.focus()不會觸發它。 。,但是在這種情況下,您可以在.focus()之后調用通過click事件指定的函數。 這似乎有點駭人聽聞,所以我決定測試vanilla js .onfocus事件,並證明它也沒有觸發。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM