Merge pull request #619 from rglasser27/fix-scrolling-for-mobile

Fix an issue with mobile scrolling
This commit is contained in:
Valeriy 2017-11-21 18:04:07 +05:00 committed by GitHub
commit 63441fde6d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1007,10 +1007,15 @@ var datetimepickerFactory = function ($) {
.find('.xdsoft_select') .find('.xdsoft_select')
.xdsoftScroller(options) .xdsoftScroller(options)
.on('touchstart mousedown.xdsoft', function (event) { .on('touchstart mousedown.xdsoft', function (event) {
this.touchmoved = false;
event.stopPropagation(); event.stopPropagation();
event.preventDefault(); event.preventDefault();
}) })
.on('touchstart mousedown.xdsoft', '.xdsoft_option', function () { .on('touchmove', '.xdsoft_option', function () {
this.touchmoved = true;
})
.on('touchend mousedown.xdsoft', '.xdsoft_option', function () {
if (!this.touchmoved) {
if (_xdsoft_datetime.currentTime === undefined || _xdsoft_datetime.currentTime === null) { if (_xdsoft_datetime.currentTime === undefined || _xdsoft_datetime.currentTime === null) {
_xdsoft_datetime.currentTime = _xdsoft_datetime.now(); _xdsoft_datetime.currentTime = _xdsoft_datetime.now();
} }
@ -1030,6 +1035,7 @@ var datetimepickerFactory = function ($) {
if (year !== _xdsoft_datetime.currentTime.getFullYear() && $.isFunction(options.onChangeYear)) { if (year !== _xdsoft_datetime.currentTime.getFullYear() && $.isFunction(options.onChangeYear)) {
options.onChangeYear.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input')); options.onChangeYear.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'));
} }
}
}); });
datetimepicker.getValue = function () { datetimepicker.getValue = function () {
@ -1866,7 +1872,14 @@ var datetimepickerFactory = function ($) {
}); });
timebox timebox
.on('touchstart', 'div', function (xdevent) {
this.touchmoved = false;
})
.on('touchmove', 'div', function (xdevent) {
this.touchmoved = true;
})
.on('touchend click.xdsoft', 'div', function (xdevent) { .on('touchend click.xdsoft', 'div', function (xdevent) {
if (!this.touchmoved) {
xdevent.stopPropagation(); xdevent.stopPropagation();
var $this = $(this), var $this = $(this),
currentTime = _xdsoft_datetime.currentTime; currentTime = _xdsoft_datetime.currentTime;
@ -1894,6 +1907,7 @@ var datetimepickerFactory = function ($) {
if (options.inline !== true && options.closeOnTimeSelect === true) { if (options.inline !== true && options.closeOnTimeSelect === true) {
datetimepicker.trigger('close.xdsoft'); datetimepicker.trigger('close.xdsoft');
} }
}
}); });
datepicker datepicker