在jquery datepicker onSelect函数中,我尝试使用event.target获取所选元素。在chrome中,event.target可供我使用,但在firefox中它不是。我看过的每个地方都告诉我,在firefox中,你只需要将事件声明为一个参数,但它似乎不起作用。我在这里做错了什么?
onSelect: function (dateString) {
//first parameter is the dateString
(function(event){
console.log(event); //is undefined
})();
}
不应该定义事件吗?
编辑:我想要完成的是确定选择了哪个元素并抓取文本。 $(event.target).text()适用于chrome但不适用于firefox
答案 0 :(得分:0)
您几乎总是可以在jQueryUI小部件回调中使用this
来访问小部件事件发生的元素。
$( function() {
$( ".datepicker" ).datepicker({
onSelect:function(){
console.log('Datepicker id is:', this.id)
}
});
});
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<link rel="stylesheet" href="/resources/demos/style.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<p>Date 1: <input type="text" id="datepicker-1" class="datepicker"></p>
<p>Date 2: <input type="text" id="datepicker-2" class="datepicker"></p>
答案 1 :(得分:0)
onSelect
选项是一个Datepicker选项,而不是实际的event
。
在此处查看datepicker文档:http://api.jqueryui.com/datepicker/#option-onSelect
如果需要活动的Datepicker实例,则需要传递第二个参数
如果您想要关联的输入字段,请使用this
。