2015-10-19 64 views
0

我正在使用常用的離子指令將焦點設置爲顯示離子鍵盤的頁面加載的textarea,並且它在我測試過的每個設備上都可以正常工作,除了iPhone 4s。Angular指令不適用於iPhone 4s

HTML

<textarea focus-me></textarea> 

JS

.directive('focusMe', function($timeout) { 
    return { 
    link: function(scope, element, attrs) { 
     $timeout(function() { 
     element[0].focus(); 
     }),350; 
    } 
    }; 
}); 

上的iPhone 4S,當文本區域失去焦點,鍵盤消失,然後彈出右後衛。這不會發生在任何其他設備上。

如何在頁面加載(和後續頁面加載)時將焦點設置爲textarea,並防止離子鍵盤在textarea失去焦點時彈出備份?

+2

不知道這是否是一個複製粘貼錯誤 - 但你的'$超時'調用是錯誤的。它應該是'$ timeout(function(){element [0] .focus();},350);' –

回答

1

您的代碼中存在錯誤,稱爲$timeout指令。它應該是:

.directive('focusMe', function($timeout) { 
    return { 
    link: function(scope, element, attrs) { 
     $timeout(function() { 
     element[0].focus(); 
     }, 350); // correct this 
    } 
    }; 
}); 
+0

哦,呵呵,woops。我的錯。現在這是尷尬的...謝謝你指出。 –