关闭JavaScript中的对话框弹出窗口后,如何将焦点重新设置回主页?

时间:2018-11-15 02:08:49

标签: javascript jquery angularjs modal-dialog

我有一段代码会多次弹出,而将焦点设置在按钮单击上会触发对话框弹出。

为限制多个弹出窗口,我在第一次弹出窗口后立即添加了document.activeElement.blur()。 关闭弹出窗口后,我需要将焦点设置回主页,在那里我有Enter键的按键事件,该事件将在按键时执行save()函数。

这是我的代码:

this.showChannelHistory = function (title, message) {
  var channelHistoryData =channelHistoryData;
  var templateURL = 'partials/wireless/channelHistory.html?v={version_number}';
  var defaultButtons = [{result:'ok', label: 'OK', cssClass: 'btn'}/* ,{result:'cancel', label: 'Cancel', cssClass: 'btn'} */];
  var msgBox = new $dialog.dialog({
    dialogFade: true,
    backdropClick: false,
    templateUrl: templateURL,
    controller: 'MessageBoxController',
    dialogClass: 'modal analyzer',
    resolve:
    {
      model: function () {
       return {
         title: title,
         message: message,
         buttons: defaultButtons,
         };
       }
     }
  });
  **document.activeElement.blur();**
  return msgBox.open();
};}]);

上面是我处理模糊事件的service.js代码。

下面是控制器代码,我在其中使用名为“ security Tips.showChannelHistory”的指令将对话框打开。

$scope.showChannelHistory = function() {
  var channelHistoryData = [];
  $scope.channel2GHistoryData = ChannelHistory.get({id: 0}, function (data2g) {
    ChannelHistory.get({id: 1}, function (data5g) {
      channelHistoryData = buildChannelHistoryModel(data2g.history, data5g.history);
      securityTips.showChannelHistory("", channelHistoryData);
      console.log(document.activeElement);
    })
  });
};

我需要一种在对话框关闭后将焦点移回主页的方法

0 个答案:

没有答案