firefox:" event"没有在jquery datepicker中公开

时间:2017-07-10 13:54:53

标签: javascript jquery firefox datepicker

在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

2 个答案:

答案 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