2017-10-16 80 views

回答

0

您可能需要使用touchstart爲它在iOS上工作(這也應該適用於Android)。在單擊處理程序,觸發touchstart輸入。我假設您輸入的是myinput

$('input.myinput').trigger('touchstart'); 

$('input.myinput').on('touchstart', function() { 

    $(this).focus(); 

}) 
+0

我試過的東西呈三角這一點。我會嘗試一下你的代碼片段,然後回覆一個反饋。 –

+0

好,不要在所有的工作,有時觸發鍵盤,有時不。我會繼續嘗試 –

0

這裏是一個hacky變通。

位置你輸入過頂鏡頭圖標按鈕。將輸入容器設置爲與按鈕類似的寬度,並將不透明度設置爲0,以使其不可見。事情是這樣的:

div.input-container { 
    position: absolute; 
    top: 10px; 
    right: 10px; 
    width: 60px;  
    z-index: 1000;  
    opacity: 0; 
} 

然後,當用戶點擊該按鈕時,他們實際上是輸入,將本地設置焦點內點擊。添加輸入點擊事件處理程序以將不透明度設置爲1可將輸入寬度設置爲適當的大小。

inputField.addEventListener('click', (event) => { 
    //use Jquery or plain JS to add a search-mode class to unhide the input 
}); 

div.input-container.search-mode {    
    width: 100%;     
    opacity: 0; 
} 

您還必須添加一個方法來去除search-mode CSS類來獲得輸入字段回其初始隱藏狀態。