2013-02-27 223 views
5

का उपयोग करके एंटर पर क्लिक करने के बाद textbox.blur चल रहा है मेरे पास एक छोटा angularjs ऐप है जिसे मैंने केवल आईपैड (सफारी ब्राउज़र) के लिए विकसित किया है। शीर्ष पर एक टेक्स्टबॉक्स है जिसे एनजी-दोहराने पर फ़िल्टर के रूप में उपयोग किया जाता है। एक बार जब मैं 'जाओ' बटन पर क्लिक करता हूं तो मैं आईपैड पर कीबोर्ड बंद करना चाहता हूं। मैंने कीबोर्ड तत्व को बंद करने का तरीका देखा है इनपुट तत्व को धुंधला करना Hide The iPad Keyboard By Hitting the Return Keyangularjs

मैं AngularUI लाइब्रेरी का उपयोग कर रहा हूं इसलिए मैं ऑनअप ईवेंट को फायर कर रहा हूं और एंटर कुंजी का पता लगा रहा हूं।

यह टेक्स्टबॉक्स के लिए HTML है। मैं ui-कुंजी दबाने घटना का उपयोग कर रहा keypressCallback कॉल करने के लिए

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

नीचे जो सिर्फ keypressCallback समारोह

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

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

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

} 
); 

मैं और दस्तावेज़ में फ़ोकस सेट करने की कोशिश की है शामिल जावास्क्रिप्ट का एक cutdown संस्करण है शरीर जो टेक्स्टबॉक्स को धुंधला करेगा लेकिन मुझे कोई सफलता नहीं मिली है। अग्रिम Gav

उत्तर

11

आप input.blur() क्यों प्रयोग नहीं करते में http://thejonesmobile.com/gunnersen/

धन्यवाद:

मैं क्या पर काम कर रहा हूँ के विकास के संस्करण के लिए इस यूआरएल पर है? मैंने आपका कोड बदल दिया है:

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

और यह काम किया।

+0

धन्यवाद ढेर। मुझे किसी भी घटना के बारे में $ event.target –

+0

पता नहीं था। यह सिर्फ इंजेक्शन मूल [घटना] है (https://developer.mozilla.org/en-US/docs/DOM/event)। –

0

सरल समाधान:

document.formName.fieldName.blur();