当我点击纸质对话框外,哪个事件会触发?

时间:2015-01-04 00:58:45

标签: polymer

我想抓住纸张对话框的解雇事件。

是否有任何事件在标签输出/外部对话框中触发?

3 个答案:

答案 0 :(得分:2)

从Polymer 1.0版本开始,您可以执行以下操作:

<paper-dialog id="loginDialog">
    ...
</paper-dialog>

var dialog = document.getElementById('loginDialog');
dialog.addEventListener('iron-overlay-closed', function (customEvent) {
    var id = customEvent.currentTarget.id;
    console.log(id + " is closed!");
});

customEvent有许多不同的属性,可让您查看来自哪个对话框。上面的示例会查看Id字段的currentTarget

paper-dialog-behaviors.html中,我们看到可以收听以下事件:

listeners: {
  'click': '_onDialogClick',
  'iron-overlay-opened': '_onIronOverlayOpened',
  'iron-overlay-closed': '_onIronOverlayClosed'
},

答案 1 :(得分:1)

您可以尝试core-overlay-close-completed

请参阅此jsbin

答案 2 :(得分:1)

我尝试了另一种方法(在@justin建议之后)被触发的方法:

  observe: {
    '$.dialog.opened': 'dialogChanged'
  },
  dialogChanged: function (old, new) {
    console.log(new);
  },

我看到opened属性带有对话框,它根据对话框状态而改变。