Javascript Closure“为回调函数创建局部变量”

时间:2013-09-20 10:04:38

标签: javascript

我正在使用像

这样的javascript DatPicker
datefield = $('fromdate');

datepicker = new DatePicker(wrapper, 
   {months:1
   , onSelect: function(datefield) {
                 return function() {
                   onDatePick();
                 } 
               }( datefield ) 
    });

其中onSelect是一个回调函数,当用户点击Date时将调用该函数。和DatePicker将Selected Date作为Callback函数的参数传递。此日期将写在datefield输入字段中。

我认为在封闭的范围内,这个字段将作为局部变量使用,但它总是未定义的。

1 个答案:

答案 0 :(得分:0)

要将参数添加到回调函数,您需要执行以下操作:

datefield = $('fromdate');
datepicker = new DatePicker(wrapper, 
   {months:1
   , onSelect: (function(datefield) {
                 return function() {
                   onDatePick();
                 } 
               }) (datefield) 
    });