简单教程
提交运行
代码编辑器:
<!DOCTYPE html> <meta charset="utf-8"> <link href="/static/next/css/tryit.css?v=2017082407" rel="stylesheet"/> <script src="https://cdn.staticfile.org/jquery/2.2.4/jquery.min.js"></script> <div id="log"></div> <script> $(function () { // 简单的测试函数 var log = function( value ) { $( "#log" ).append( "<p>" + value + "</p>" ); }; // 两个将被添加到列表的函数 var foo = function( value ) { log( "foo: " + value ); }; var bar = function( value ) { log( "bar: " + value ); }; // 使用“memory”创建回调函数 var callbacks = $.Callbacks( "memory" ); // 添加测试函数foo到列表 callbacks.add( foo ); // 传入参数调用所有回调 callbacks.fire( "hello" ); // 输出 "foo: hello" // 锁定回调列表 callbacks.lock(); // 尝试再次调用 callbacks.fire( "world" ); //当列表被锁定,将不能调用任何项 // 所以"world"不会测试 // 再次添加foo函数到列表 callbacks.add( foo ); // 尝试再次传入参数调用回调 callbacks.fire( "silentArgument" ); // 输出 "foo: hello"因为参数被储存在内存中 // 添加bar函数到列表 callbacks.add( bar ); callbacks.fire( "youHadMeAtHello" ); // 输出 "bar: hello"因为列表依旧被锁定 // 并且参数值依然被储存在内存中 }) </script> <footer>简单教程,简单编程<br/>Copyright © 简单教程 www.twle.cn</footer>
运行结果: