Jquery 引导数据采集器意外地在另一个事件处理程序中激发更改事件
我注意到引导日期选择器触发了意外事件。它只发生在另一个函数/处理程序内部 通常Jquery 引导数据采集器意外地在另一个事件处理程序中激发更改事件,jquery,twitter-bootstrap,bootstrap-datepicker,Jquery,Twitter Bootstrap,Bootstrap Datepicker,我注意到引导日期选择器触发了意外事件。它只发生在另一个函数/处理程序内部 通常setDate不应该触发事件,也不会!除非我将其包装到另一个函数/处理程序中 试图理解差异并消除不必要的事件触发 请帮忙 //$('.set-date-button').click(function(event) { event.preventDefault(); var startDate = '01/01/2017'; $('.start .date').datepicker('setDate', st
setDate
不应该触发事件,也不会!除非我将其包装到另一个函数/处理程序中
试图理解差异并消除不必要的事件触发
请帮忙
//$('.set-date-button').click(function(event) {
event.preventDefault();
var startDate = '01/01/2017';
$('.start .date').datepicker('setDate', startDate);
//}); When commented, change event doesn't fire, when uncommented - unexpected change event fires.
使用change
或changeDate
没有任何区别
$('.set date按钮')。单击(函数(事件){
event.preventDefault();
var startDate='2017年1月1日';
$('.start.date').datepicker('setDate',startDate');
});
$(document).on('change','start.date',function(){
警报(“开火!”);
});代码>
设定日期
因为当您创建更改事件时,日期已经设置好了。如果顺序相反,它将触发更改事件:jsfiddle.net/xek22wpq/9,因为创建更改事件的日期已经设置好了。如果按相反顺序,它将触发更改事件:jsfiddle.net/xek22wpq/9
我发现update
方法不会触发changeDate
,而是触发change
。这就是我如何消除这种额外的射击:
$('.set-date-button').click(function(event) {
event.preventDefault();
var startDate = '01/01/2017';
$('.start .date').datepicker('update', startDate);
});
$(document).on('changeDate', '.start .date', function() {
alert('fired!');
});
我发现update
方法不会触发changeDate
,而是触发change
。这就是我如何消除这种额外的射击:
$('.set-date-button').click(function(event) {
event.preventDefault();
var startDate = '01/01/2017';
$('.start .date').datepicker('update', startDate);
});
$(document).on('changeDate', '.start .date', function() {
alert('fired!');
});
请注意,您在使用小提琴和代码片段时链接了文档。第一个组件既没有datepicker
也没有setDate
方法。fiddle和snippet都不起作用。请编辑您的问题,指定您正在使用的组件。链接错误,已修复。请注意,您在小提琴和代码段中链接了文档。第一个组件既没有datepicker
也没有setDate
方法。fiddle和snippet都不起作用。请编辑您的问题,指定您正在使用的组件。错误链接,已修复。