2017-06-08 44 views
0

我正在用戶輸入關鍵字的搜索欄上工作。當用戶點擊回車鍵時,結果顯示。我想以這種方式實現 - enter image description here如何在Angular 2中隱藏閃爍的光標?

每當用戶點擊搜索關鍵字的搜索結果時,都可以看到關鍵字末尾沒有閃爍的光標。當您訪問google.com並點擊輸入框時,不會發生這種情況。那時候,我們看到一個閃爍的光標。

我面臨的問題是,當用戶點擊輸入鍵時,結果顯示,但光標在搜索欄中保持閃爍。我應該怎麼做才能解決這個問題,以便點擊輸入框應該顯示一個閃爍的光標,但是按回車鍵時,它會隱藏閃爍的光標?

注 - 由於我不知道,這個問題是如何產生的我還沒有提供代碼。我只想對代碼有一些粗略的想法,我應該如何繼續。 :)

+0

如果按鍵是回車鍵,無焦點的文本框中創建這個動作內容添加到輸入。 – tymeJV

回答

1

這是通過從焦點遠離輸入字段,這需要一點點的JavaScript。

我不知道你的代碼是如何工作的,因爲你沒有提供代碼,但表單提交將是我想象的,你將如何觸發輸入的動作?

所以我會做一個簡單的例子...

我們有填充了輸入字段的形式。

var form = document.querySelector('#form'); 
 
var input = document.querySelector('#text'); 
 

 
form.onsubmit = function(e) { 
 
    e.preventDefault(); 
 
    text.blur(); 
 
}
<form id="form"> 
 
    <input type="text" id="text"> 
 
</form>

使用.blur把焦點從輸入程。


我錯過看你的問題,看到你用角這樣做,但我會離開原來的答案有沒有任何其他人可以在這個答案絆倒。

要做到這一點,它有一個可愛的屬性ng-enter

然後,我們可以通過做<input type="text" ng-enter="$scope.blur()" />

然後,我們可以通過做

$scope.blur = function($event) { 
    var input = $event.target; 

    input.blur(); 
} 
+0

謝謝你!但是我正在使用Angular 2.您爲Angular的低版本提供瞭解決方案。如果你能更新你的答案,那將是非常好的。 :) –