勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

JavaScriptのリッチなalert / confirmぽいウィンドウを表示する「sweetalert2」の利用方法

  JavaScript

JavaScriptのalert / confirmはブラウザによって表示位置やデザインが異なる。また、そもそもの見た目(デザイン)も少々気になるところ。この辺りを解決できないか調べたところ「sweetalert2」というライブラリで対応できそう。以下に利用方法をメモ。

 

sweetalert2

公式サイト

https://sweetalert2.github.io/

デモページ

https://sweetalert2.github.io/#examples

CDN

CDNで使う場合は以下を記述する。

<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.11.0/dist/sweetalert2.all.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/sweetalert2@11.11.0/dist/sweetalert2.min.css" rel="stylesheet">

 

サンプル

https://taitan916.info/sample/sweetalert2/

 

利用方法

ソースコード

<button id="alert" type="button" class="button-class">alert</button>
<button id="confirm" type="button" class="button-class">confirm</button>

<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.11.0/dist/sweetalert2.all.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/sweetalert2@11.11.0/dist/sweetalert2.min.css" rel="stylesheet">
<script>
document.getElementById(`alert`).onclick = function() {
    Swal.fire(`alertテスト`);
}

document.getElementById(`confirm`).onclick = function() {
    Swal.fire({
        title: `confirmテスト`,
        showDenyButton: true,
        confirmButtonText: `Yes`,
        denyButtonText: `No`
    }).then((result) => {
        if( result.isConfirmed ){
            Swal.fire(`Yesをクリックしました。`);
        }else if (result.isDenied){
            Swal.fire(`Noをクリックしました。`);
        }
    });
}
</script>

解説等

バニラJS対応ライブラリのため「document.getElementById」としているが、もちろんjQueryを導入して「$(`#alert`).on('click',~~)」という形でも問題無し。

また、各種パラメータについてはこちらのページを参照すること。

 - JavaScript

  関連記事

パスワードの強度を判定できる「zxcvbn」ライブラリの使用方法
パスワードの強度を判定できる「zxcvbn」ライブラリの使用方法

アカウントを作成するようなページで偶にパスワードの強度を判定してメーターで表示さ ...

バニラJavaScriptでリッチなセレクトメニュー(プルダウン)を実装できる「Choices.js」の利用方法
バニラJavaScriptでリッチなセレクトメニュー(プルダウン)を実装できる「Choices.js」の利用方法

サジェストや複数選択等、機能付きのセレクトメニュー(プルダウン)を実装する際、今 ...

PHPのHTTPクライアント用ライブラリ「Guzzle」の利用方法
PHPのHTTPクライアント用ライブラリ「Guzzle」の利用方法

以前に「Requests for PHP」を試したが、似たようなライブラリで「G ...

PHPにて「hashids(Sqids)」ライブラリで数値からユニークなランダム英数字のIDに変換する方法
PHPにて「hashids(Sqids)」ライブラリで数値からユニークなランダム英数字のIDに変換する方法

PHPにてユーザID等を推測されないよう数値のIDからユニークなランダム英数字の ...

jQueryの通知メッセージ用ライブラリ「Toastr」の利用方法
jQueryの通知メッセージ用ライブラリ「Toastr」の利用方法

あるサイトのソースコードを拝見しているとToastrというJSファイルをCDNで ...