Javascript 在angularjs中按键盘的打印屏幕键时,引导日期选择器停止更改年份
我正在应用程序中使用Bootstrap的日期选择器。当我按下键盘上的PrtScrn键时,它会改变数据采集器中的年份 我怎样才能阻止这种行为发生 这是我的指令码Javascript 在angularjs中按键盘的打印屏幕键时,引导日期选择器停止更改年份,javascript,angularjs,datepicker,Javascript,Angularjs,Datepicker,我正在应用程序中使用Bootstrap的日期选择器。当我按下键盘上的PrtScrn键时,它会改变数据采集器中的年份 我怎样才能阻止这种行为发生 这是我的指令码 .directive('datepicker', function(){ return { require: '?ngModel', restrict: 'A', link: function(scope, element, attrs, ngMod
.directive('datepicker', function(){
return {
require: '?ngModel',
restrict: 'A',
link: function(scope, element, attrs, ngModel,$filter){
var dates = scope.$eval(attrs.datepicker);
if(dates[0].toDate !== null)
{
var date =new Date(dates[0].toDate) ;
var toDate=(date.getDate()) + '/' + (date.getMonth() + 1)+ '/' + date.getFullYear();
var date1 =new Date(dates[0].fromDate) ;
var fromDate=(date1.getDate()) + '/' + (date1.getMonth() + 1) + '/' + date1.getFullYear();
}
if(!ngModel) return; // do nothing if no ng-model
ngModel.$render = function(){
element.val( ngModel.$viewValue || '' );
}
element.datepicker({
format : 'dd/mm/yyyy',
autoclose : true,
//startDate : toDate,
endDate : toDate
});
function read() {
var value = element.val();
// ngModel.$setViewValue(value);
}
}
}
});
这是html代码
<input
dynamic-name="field.name"
datepicker="[{toDate:field.todate,fromDate :field.fromdate}]" readonly="field.isreadonly"
type="text"
placeholder ="{{field.placeholder}}"
class="form-control"
dynamic-validation = "field.validationtype"
ng-model= "formVariables[field.name]"
value="{{field.value}}"
ng-required = "{{field.expression}}"
/>
复制步骤:
- 点击月份或年份
- 然后单击年份的向右或向左箭头
- 按键盘上的PrtScrn键,观察输出年份和月份的变化
按PrtScrn键时,不应更改预期结果年份或月份 我也使用了
Bootstrap的日期选择器
,但在我的项目中,没有出现您的问题。。嗯。。真奇怪。。你能发布你的控制器代码或html吗?或者您的项目中是否有一些使用关键事件的代码?谢谢Canet Robern,我已经用controller和html代码更新了我的问题。请检查并让我知道。您可以分享您正在使用的模块吗?我已经尝试了您的代码,但我找不到任何错误。。您是否编辑或修改过js文件?或者您的本地代码中是否有任何密钥事件?我的代码中没有任何密钥事件。我已经检查了你的电脑,但同样的问题也发生了。我正在使用MAC或windows操作系统。按照步骤检查此问题。1> 点击月份或年份。2> 然后单击年份的向右或向左箭头。3> 按键盘上的PrtScrn键,观察输出年份和月份的变化。按PrtScrn键时,预期结果年或月不应更改。我也使用了引导的日期选择器
,但在我的项目中,您的问题没有发生。。嗯。。真奇怪。。你能发布控制器代码还是html代码?或者您的项目中是否有一些使用关键事件的代码?谢谢Canet Robern,我已经用controller和html代码更新了我的问题。请检查并让我知道。您可以分享您正在使用的模块吗?我已经尝试了您的代码,但我找不到任何错误。。您是否编辑或修改过js文件?或者您的本地代码中是否有任何密钥事件?我的代码中没有任何密钥事件。我已经检查了你的电脑,但同样的问题也发生了。我正在使用MAC或windows操作系统。按照步骤检查此问题。1> 点击月份或年份。2> 然后单击年份的向右或向左箭头。3> 按键盘上的PrtScrn键,观察输出年份和月份的变化。按PrtScrn键时,不应更改预期结果年份或月份。