2

使用

  • aurelia-cli - 0.30.1
  • sweetalert2 - 6.6.5
  • 打字稿 - 2.3.3
  • 最新浏览器(FF、Chrome、IE、Opera)

ts代码

public showHelp() {
    swal('Test').then((out) => {
      console.log(out);
    }).catch((error) => console.log(error));
}

警报显示没有问题,但单击确认按钮不会关闭警报。警报也不会在外部点击时关闭。按 ESC 或 ENTER 可以正常工作。没有错误抛出...

知道为什么这不接受点击吗?

我在这些上放了断点

// Mouse interactions
var onButtonEvent = function onButtonEvent(event) {

// Closing modal by close button
getCloseButton().onclick = function () {

// Closing modal by overlay click
container.onclick = function (e) {

在 swal 源中,但他们永远不会被击中......

还尝试将 target 设置为 以外body的其他值,结果相同。

4

2 回答 2

1

我无法重现您正在经历的事情。使用 sweetalert2 v6.6.6(哦,亲爱的),警报会在您提到的所有场景中正确显示和隐藏:[OK] 按钮,在警报对话框和键盘修饰符之外单击。

我正在使用下面的配置。您可能已经知道,但请注意,我明确地将 css 文件包含在 aurelia.json 中并在 app.html 视图中引用它。

这是完整的应用程序:

aurelia.json

{
    "name": "sweetalert2",
    "path": "../node_modules/sweetalert2/dist",
    "main": "sweetalert2",
    "resources": [
      "sweetalert2.css"
    ]
}

应用程序.ts

import swal from 'sweetalert2';

export class App {
  attached() {
    this.showHelp();
  }

  public showHelp() {
    swal('Test').then((out) => {
      console.log(out);
    }).catch((error) => console.log(error));
  }
}

应用程序.html

<template>
  <require from="sweetalert2/sweetalert2.css"></require>
</template>
于 2017-07-13T20:39:32.257 回答
1

我遇到了完全相同的问题,显然这就是给我带来问题的原因:

.swal2-container:not(.swal2-in) {
  pointer-events: none;
}

只需评论该行或将none更改为all(尽管我还不知道它是否会破坏其他任何内容)

我在用着:

  • 纸仪表板(免费 angular2 版本)- 1.0.0
  • angular.cli - 1.1.1
  • sweetalert2 - 6.6.6
  • 打字稿 - 2.3.3
  • 最新的浏览器(相同)
于 2017-08-01T15:56:52.217 回答