2013-02-27 18 views
5

Ben sadece iPad (safari tarayıcı) için geliştirdim küçük bir angularjs uygulaması var. Üst kısımda ng-tekrarda filtre olarak kullanılan bir metin kutusu vardır. Başlamak istediğim, birisi 'GO' düğmesini tıkladıktan sonra ipad üzerindeki klavyeyi kapatmaktır. Klavyeyi kapatmanın yolunu gördüm, giriş elemanını Hide The iPad Keyboard By Hitting the Return Keyçalışan textbox.blur tıklayarak angularjs kullanarak girin

bulanıklaştırmak için AngularUI kütüphanesini kullanıyorum, böylece onKeyUp olayını çalıştırıyorum ve giriş anahtarını tespit ediyorum.

Bu, metin kutusu için html'dir. i Aşağıda

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

Ben belgeye odaklamayı ayarlamak için çalıştı ve adres

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

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

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

} 
); 

sadece keypressCallback işlevini içeren javascript Bir insizyon versiyonudur keypressCallback çağırmak için ui-basışı olayı kullanıyorum Metin kutusunu bulanıklaştıracak ama hiç başarı elde edemedim. peşin Gav

cevap

11

Neden input.blur() kullanmayın içinde http://thejonesmobile.com/gunnersen/

Teşekkür:

i üzerinde çalıştığım şeyi gelişimi sürümü aşağıdaki url altındadır? Ben kodunuzu değiştirdik:

$scope.keypressCallback = function($event) { 
    $event.target.blur(); 
}; 

Ve işe yaradı.

+0

teşekkür yığınları. Ben $ event.target –

+0

Herzaman hakkında bilmiyordum. Sadece enjekte edilen orijinal [etkinlik] (https://developer.mozilla.org/en-US/docs/DOM/event). –

0

Basit çözüm:

document.formName.fieldName.blur(); 
İlgili konular