首页 > 解决方案 > jqueryUI _trigger() 没有触发我可以在元素上看到的事件

问题描述

我有一个父元素正在创建一个新的小部件弹出窗口:

var control = this;

header.createReservationPopup({
   'className' : '.create-reservation-popup',
   'eventdata' : eventdata,
   'placement' : 's',
   'header' : header,
   'saveEvent': '_saveReservation'
}).off('_saveReservation').on('_saveReservation', function(event, data) {
   alert("I wuz here"); //never gets hit;
   control._trigger('_createreservation', event, data);
});

弹出窗口打开,完美运行。单击按钮时,我这样做:

control._trigger(saveEvent, null, {
   'probe_name': attendees,
   'start_date': moment.utc().format(),
   'end_date': moment.utc().add({
      'hours': hour_value,
       'minutes': minute_value
   })
});
          
var timeout = setTimeout( function() {
    $jQ.powerTip.hide();
    control.destroy();
    clearTimeout(timeout);
}, 100);

我可以在控制台中执行此操作,事件存在于控件中:

$jQ._data( control.element[0], 'events' )._saveReservation
[{…}, delegateCount: 0]
0: {type: "_saveReservation", origType: "_saveReservation", data: undefined, guid: 408, handler: ƒ, 
…}
delegateCount: 0
length: 1
__proto__: Array(0)

但是打开弹出窗口的代码中的事件永远不会触发。我认为它会在事件触发之前杀死事件,但事实并非如此。

标签: javascriptjqueryjquery-ui

解决方案


推荐阅读