一度だけ命令を実行する

たとえば button などの object に対して、処理を追加する場合、
通常は bind で追加して、不要になった時点で unbind で処理を削除します。

ですが、最初の一度だけしか実行しない処理などは、 bind, unbind は冗長だなといつも思ってました。
今回は一度だけ実行する時に便利な one() についてです。

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

        <script src="./jquery-1.9.1.min_.js"></script>   
        <script type="text/javascript"><!--

            $(function() {

                // It performs only once.
                $('#execOne').one('click', function(){
                    alert('It performs only once.');
                });

                // It performs any number of times.
                $('#execAll').click(function(){
                    alert('It performs any number of times.');
                });

            });

        --></script>

        <link rel="stylesheet" href="reset.css" type="text/css">
        <style type="text/css"><!--

        --></style>
        
    </head>
    <body>

        <div id="buttonArea">

            <input type="button" id="execOne" value="press here. (It performs only once.)" />
            <br />
            <input type="button" id="execAll" value="press here. (It performs any number of times.)" />

        </div>

    </body>
</html>

sample

これで最初にクリックしたときだけ指定した処理を実行します。

正直使う機会はあまりないのかと思います。
ですが個人的にはもっと早く知っておきたかった内容ですね。

一連の流れが完了した後、unbind を忘れて大変なことになったことが・・・
今後は各ボタンで一回ずつの処理や、初回だけヘルプ表示など、色々使用していきたいと思います。

jQuery はここからダウンロードしてください。

この投稿は役に立ちましたか? 役に立った 役に立たなかった 3 人中 1 人がこの 投稿 は役に立ったと言っています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です