我试图附加jQuery ui-datepicker而我无法让事件处理程序工作:
{
"status": "success",
"data": [
{
"icao": "KPIE",
"observed": "07-03-2017 @ 14:20Z",
"raw_text": "KPIE 071353Z 13017G23KT 10SM CLR 21\/13 A3031 RMK AO2 SLP262 T02060128",
"wind_degrees": 130,
}
]
}
单击链接时,我没有记录到控制台。这是html:
QObject::startTimer: Timers cannot be started from another thread
我需要将什么作为事件处理程序来触发? jQuery位于我的html页脚的$( '.ui-datepicker' ).on('click', 'a.ui-datepicker-next', 'a.ui-datepicker-prev', function( event ) {
event.preventDefault();
console.log("CLICK");
});
中。
编辑链接不正确 - <div id="ui-datepicker-div" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"...>
<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix- ui-corner-all">
<a class="ui-datepicker-next ui-corner-all"...></a>
<a class="ui-datepicker-prev ui-corner-all"...></a>
...
且<script>jQuery here</script>
已更改为 a.ui-datepicker-month
和a.ui-datepicker-year
由于
答案 0 :(得分:2)
你的语法不是很正确。选择器需要以逗号分隔,但在同一个字符串中。试试这个:
$('.ui-datepicker').on('click', 'a.ui-datepicker-month, a.ui-datepicker-year', function(e) {
e.preventDefault();
console.log("CLICK");
});
注意:'a.ui-datepicker-month, a.ui-datepicker-year'
。另请注意使用e
,而不是event
,因为它会覆盖某些浏览器所拥有的全局事件对象。
*编辑问题后更新:
还有另外两个问题。首先,正确的类是a.ui-datepicker-prev
和a.ui-datepicker-next
。此外,ui.-datepicker
元素在DOM的加载中不存在,因此没有任何东西可以将事件绑定到。要解决此问题,您可以使用$(document)
,但理想情况下,您应该使用最接近的父元素,以便在加载DOM时将其作为目标。试试这个:
$(document).on('click', 'a.ui-datepicker-prev, a.ui-datepicker-next', function(e) {
e.preventDefault();
console.log("CLICK");
});