From 0bbd20f255b2954b5c41617fe718cf6eca36a972 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Lau=C3=9Fmann?= Date: Mon, 17 Jun 2013 16:58:13 +0200 Subject: [PATCH] fix(mobile-ng-click): prevent unwanted opening of the soft keyboard Ghost clicks are busted but the corresponding form elements are still focused. This means that for example on smartphones the soft keyboard will be opened. This pull request prevents the unwanted opening of the soft keyboard. --- src/ngMobile/directive/ngClick.js | 3 +++ test/ngMobile/directive/ngClickSpec.js | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/ngMobile/directive/ngClick.js b/src/ngMobile/directive/ngClick.js index 51e201c2d18f..6df71ddb980b 100644 --- a/src/ngMobile/directive/ngClick.js +++ b/src/ngMobile/directive/ngClick.js @@ -135,6 +135,9 @@ ngMobile.directive('ngClick', ['$parse', '$timeout', '$rootElement', // If we didn't find an allowable region, bust the click. event.stopPropagation(); event.preventDefault(); + + // Blur focused form elements + event.target && event.target.blur(); } diff --git a/test/ngMobile/directive/ngClickSpec.js b/test/ngMobile/directive/ngClickSpec.js index 9038514c2c76..523949777a3a 100644 --- a/test/ngMobile/directive/ngClickSpec.js +++ b/test/ngMobile/directive/ngClickSpec.js @@ -211,7 +211,10 @@ describe('ngClick (mobile)', function() { expect($rootScope.count1).toBe(1); time = 90; + // Verify that it is blured so we don't get soft-keyboard + element1[0].blur = jasmine.createSpy('blur'); browserTrigger(element1, 'click', [], 10, 10); + expect(element1[0].blur).toHaveBeenCalled(); expect($rootScope.count1).toBe(1);