liguofeng29’s blog

個人勉強用ブログだっす。

jQuery - Callback

jQeury1.7からCallbackの仕組みを提供している

Callbacks対象生成

  • jQeury.Callbacks(flags)

    flags種類

    • once : 一回だけfire
    • memory : 前回の引数をキャッシュする
    • unique : 重複する関数なし
    • stopOnFalse : falseを返す関数で実行中止

Callbacksのメソッド

  • add(callbacks) : 追加
  • fire(args) : 実行

  • lock() : locak状態にする

  • disable() : 使用禁止
  • remove(callbacks) : 削除
  • empty() : 削除

  • fired() : 一回以上よばれているのか判定

  • has(callback) : callbackが存在するのか判定
  • locked() : lock状態なのか判定
<!DOCTYPE html>
<html>

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

<body>
    <script type="text/javascript" src="jquery-1.12.0.min.js">
    </script>
    <script type="text/javascript">
    function fn1(value)
    {
        document.writeln("fn1実行 : " + value + "<br />");
    }

    function fn2(value)
    {
        document.writeln("fn2実行 : " + value + "<br />");
        return false;
    }
    // Callbacks生成
    var callbacks = $.Callbacks();
    // 追加
    callbacks.add(fn1);
    // 実行
    callbacks.fire("引数aaa");
    // 追加
    callbacks.add(fn2);
    document.writeln("<hr/>");
    // 実行
    callbacks.fire("引数bbb");
    // 削除
    callbacks.remove(fn1);
    document.writeln("<hr/>");
    // 実行
    callbacks.fire("引数ccc");
    </script>
</body>

</html>

f:id:liguofeng29:20160228131119p:plain