mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2026-03-13 10:22:08 +08:00
@@ -104,7 +104,7 @@ function keyboardNativeShow(e) {
|
||||
}
|
||||
|
||||
function keyboardBrowserFocusIn(e) {
|
||||
if( !e.target || !ionic.tap.isTextInput(e.target) || !keyboardIsWithinScroll(e.target) ) return;
|
||||
if( !e.target || !ionic.tap.isTextInput(e.target) || ionic.tap.isDateInput(e.target) || !keyboardIsWithinScroll(e.target) ) return;
|
||||
|
||||
document.addEventListener('keydown', keyboardOnKeyDown, false);
|
||||
|
||||
|
||||
@@ -166,6 +166,11 @@ ionic.tap = {
|
||||
(ele.tagName == 'INPUT' && !(/^(radio|checkbox|range|file|submit|reset)$/i).test(ele.type)) );
|
||||
},
|
||||
|
||||
isDateInput: function(ele) {
|
||||
return !!ele &&
|
||||
(ele.tagName == 'INPUT' && (/^(date|time|datetime-local|month|week)$/i).test(ele.type));
|
||||
},
|
||||
|
||||
isLabelWithTextInput: function(ele) {
|
||||
var container = tapContainingElement(ele, false);
|
||||
|
||||
|
||||
@@ -1162,6 +1162,38 @@ describe('Ionic Tap', function() {
|
||||
expect( ionic.tap.isTextInput(ele) ).toEqual(false);
|
||||
});
|
||||
|
||||
it('Should isDateInput', function() {
|
||||
expect( ionic.tap.isDateInput(null) ).toEqual(false);
|
||||
|
||||
ele = document.createElement('input');
|
||||
|
||||
ele.type = 'date';
|
||||
expect( ionic.tap.isDateInput(ele) ).toEqual(true);
|
||||
|
||||
ele.type = 'datetime-local';
|
||||
expect( ionic.tap.isDateInput(ele) ).toEqual(true);
|
||||
|
||||
ele.type = 'month';
|
||||
expect( ionic.tap.isDateInput(ele) ).toEqual(true);
|
||||
|
||||
ele.type = 'week';
|
||||
expect( ionic.tap.isDateInput(ele) ).toEqual(true);
|
||||
|
||||
ele.type = 'time';
|
||||
expect( ionic.tap.isDateInput(ele) ).toEqual(true);
|
||||
|
||||
ele.type = 'checkbox';
|
||||
expect( ionic.tap.isDateInput(ele) ).toEqual(false);
|
||||
|
||||
ele.type = '';
|
||||
expect( ionic.tap.isDateInput(ele) ).toEqual(false);
|
||||
|
||||
ele.type = 'text';
|
||||
expect( ionic.tap.isDateInput(ele) ).toEqual(false);
|
||||
|
||||
|
||||
});
|
||||
|
||||
it('Should isLabelWithTextInput', function() {
|
||||
var label = document.createElement('label');
|
||||
expect( ionic.tap.isLabelWithTextInput(label) ).toEqual(false);
|
||||
|
||||
Reference in New Issue
Block a user