2013-02-27 14 views
5

私はiPads(Safariブラウザ)用に開発した小さなanglejsアプリを持っています。上部には、ng-repeatのフィルタとして使用されるテキストボックスがあります。私が達成しようとしているのは、誰かが「GO」ボタンをクリックすると、ipadのキーボードを閉じることです。私はキーボードを閉じる方法が入力要素をぼかすことを見たHide The iPad Keyboard By Hitting the Return Keyクリックした後にtextbox.blurを実行します。angularjsを使用して入力してください

私はonKeyUpイベントを発砲し、Enterキーを検出しているので、AngularUIライブラリを使用しています。

これはテキストボックスのhtmlです。私は以下

<input ng-model="query" type="text" id="query" placeholder="product name or number" class="big radius" autocomplete="off" ui-keypress="{13:'keypressCallback($event)'}"> 

は私が文書にフォーカスを設定しようとしている

var GunnersenApp = angular.module("GunnersenApp", ['ui']); 

GunnersenApp.controller(
'SwatchListCtrl', 
function ($scope, $http) {  

    $scope.keypressCallback = function($event) { 
     alert('enter'); 
     $event.preventDefault(); 
    };  

} 
); 

だけkeypressCallback機能を含むJavaScriptの切開版ですkeypressCallbackを呼び出すために、UI-KeyPressイベントを使用しています私はテキストボックスをぼかすだろうが、私は成功しなかった。事前 Gavさん

答えて

11

は、なぜあなたはinput.blur()を使用しないで http://thejonesmobile.com/gunnersen/

ありがとう:

私が働いているかの開発版は、次のURLにありますか?あなたのコードを次のように変更しました:

+0

おかげヒープ。私はいつも$ event.targetについて知らなかった –

+0

いつでも。これは注入された元の[イベント](https://developer.mozilla.org/en-US/docs/DOM/event)です。 –

0

シンプルなソリューション:

document.formName.fieldName.blur(); 
関連する問題