與jQuery UI的日期選擇器的行爲我有以下指令的角度應用:奇怪的觸摸/點擊的iOS
'use strict';
/**
* Simple date picker
*/
angular.module('twicketsApp').directive('twicketsDatePickerSimple', [function() {
return {
restrict: 'A',
require: 'ngModel',
link: function(scope, element, attrs, ngModel) {
function initDatepicker() {
element.click(function() {console.log('datepicker clicked');});
element.datepicker({
dateFormat: 'yy-mm-dd',
changeMonth: false,
changeYear: false,
minDate: scope.futureOnly ? 0 : null,
maxDate: scope.futureOnly ? 365 : null,
onSelect: function (date) {
ngModel.$setViewValue(date); // update date value back to the model
},
beforeShow: function(input, inst) {
inst.dpDiv.addClass('simple-date-panel');
}
});
}
attrs.$observe('futureOnly', function (value) {
scope.futureOnly = value === 'true' ? true : false; // attrs come in as a string
initDatepicker();
});
}
};
}]);
正如你所看到的,既是一個單擊處理程序,該元件上的日期選擇器(在點擊處理程序僅用於調試)。
當我輕輕地觸摸Safari中的元素在任何iOS中,點擊處理程序觸發 - 但日期選擇器不打開。但如果我更加努力一點,日期選擇器確實打開了(這不是長按,因爲長按不會觸發點擊處理程序或打開日期選擇器)。
絕對不知道爲什麼會發生這種情況。有任何想法嗎?
我的項目使用fastclick,它可能會有一個影響。
你的手機壞了?你可以在另一個設備或模擬器上覆制它嗎? – evolutionxbox
在iOS模擬器上,點擊根本不起作用,但是長按(選中輸入框附近的一些文本),然後點擊*做*。奇怪的。 iPhone 4也是如此(原始測試是iphone 5c) –
當您移除fastclick時會發生什麼? – evolutionxbox