【发布时间】:2018-12-05 08:47:20
【问题描述】:
我有一个带有 datepicker 类的输入,如下所示:
<input class="ui-calendar hasDatepicker" type="text" name="date" id="date">
当这个输入值改变时,我需要覆盖所有场景。所以我有一个 .datepicker onSelect(当我通过 datepicker 日历选择日期时使用)和简单的 onChange(当我通过键盘输入日期时使用)事件:
$('#date').datepicker({
onSelect: function() {
console.log('datepicker onSelect event');
}
});
和
$('#date').on('change', function() {
console.log('onChange event');
});
现在的问题是我有单独的按钮:
<a href="#" onclick="setDate('date', '2018-12-05', '2018-12-05'); return false;">Set date</a>
这个 setDate 函数改变了我的 datepicker 输入的值。
如何在不将任何代码放入 setDate 函数本身的情况下捕获此 setDate 事件?我尝试在我的 datepicker 输入上添加监听器,但它只捕获我通过键盘输入的值。
【问题讨论】:
-
只听
input事件$('#date').on('input', function() { console.log('onChange event'); }); -
“现在的问题是我有单独的按钮” - 你只需要在这个特定的地方吗?然后我只需在此处修改该按钮的
onclick处理程序……调用 setDate,在 $('#date') 上触发更改事件,返回 false。
标签: javascript jquery events listener jquery-events