如何在Bootstrap Datepicker中点击单元格并将事件附加到它
How to get clicked cell and attach an event to it in Bootstrap Datepicker?
当用户在Bootstrap Datepicker中单击时,我想获得day单元格的DOM或jQuery元素。我的用例是在日期上显示一个popover,显示额外的信息。
Datepicker有getDate()
方法,但它只返回选定日期的字符串表示,而不返回单击的DOM元素。
我尝试将.on("click")
事件侦听器附加到.day
类,每个表日单元格都使用该类进行标记。我还有一个绑定到Datepicker本身的.on("changeDate")
事件侦听器。然而,我在这种方法上遇到了一些麻烦。
当我尝试在一天中单击时,每次都会触发侦听changeDate
的函数,但分配给click
的函数只在第一次单击时触发一次。这是一个展示这种行为的Fiddle。有什么想法吗?
我明白了,感谢@Ravneet的提示。
$('#datepicker').on('changeDate')
导致Datepicker被重新组装,这将从表单元格中删除任何现有的事件侦听器。
因此,您需要在.on('changeDate')
调用后重新连接click
事件侦听器:
function onChangeDate(e){
alert('onChangeDate');
// Must re-assign event listeners after calling ".on('changeDate')"
$('.day').on('click', onDayClick);
}
function onDayClick(e){
alert('onDayClick');
}
$('#datepicker').datepicker({
weekStart: 1,
maxViewMode: 'years',
format: 'yyyy/mm/dd',
});
$('#datepicker').on('changeDate', onChangeDate);
$('.day').on('click', onDayClick);
相关文章:
- 我可以使用jqgrid的oncellselect事件根据单元格内容将文本颜色更改为蓝色吗
- Javascript动态表,每个单元格都有一个onmouse事件
- 存在事件的单元格的jQuery DatePicker背景色(加载时)
- 当一个单元格被编辑时,是否有一个事件触发,但值没有'不要改变
- JointJS-鼠标点击事件触发单元格位置更改事件
- 在iphone的表格单元格上触摸事件
- 完整日历 (v2.x) 从事件中获取日单元格单击
- Javascript- 将点击事件添加到动态生成的表格单元格中
- jQuery 基于事件类型的单元格的日期选取器背景颜色
- jQuery 单击事件在包含在光滑网格单元格中时不会为锚点触发
- 从 Google Fusion Tables on Click 事件中访问单个单元格值
- jQuery DataTables - 将带有事件的 jquery 生成元素添加到表单元格中
- Vaadin 日历:如何在事件单元格上显示另一个属性
- 防止 jqGrid 使用 beforeCellEdit 事件进入编辑单元格
- 如何使用来自另一个单元格的 onChange 事件更新一个单元格
- JS中表单元格的事件侦听器
- 单击事件以更改单元格背景
- 如何在Bootstrap Datepicker中点击单元格并将事件附加到它
- 表单元格内span或td的单击事件处理程序不起作用
- 如何在表中禁用事件单元格