クリック回数でイベントを振り分ける
書いてアップしてから気づく。無駄なクロージャーだった。以下訂正
http://oshiete.goo.ne.jp/qa/6071280.html
<!DOCTYPE html> <title></title> <body> <table id="hoge" border="1"> <tr> <td>Click Test </table> <script> //@cc_on var ClickListener = function ( interval /* ,Function1, Function2, .. */ ) { var functionList = arguments; //? var timerId, counter; var reset = function ( mode ) { if (mode) clearTimeout (timerId), timerId = null; else counter = 1; }; this.listener = function ( evt ) { var n = evt./*@if( @_jscript ) srcElement @else@*/ target /*@end@*/; var cEvent = n.ownerDocument.createEventObject (evt); var func; timerId && reset(1); if (func = functionList[ counter++ ]) { document.getElementById('w').value="set click ="+counter; timerId = setTimeout (function () { reset (); func.call (null, cEvent); }, interval); } else reset(); }; reset(); }; //___ var fuga = new ClickListener (800, function (e) { alert("1 click! " + e.type);}, function (e) { alert("2 click! " + e.type);}, function (e) { alert("3 click! " + e.type);} ); //___ document.getElementById('hoge'). /*@if (@_jscript_version > 5.8) addEventListener( @elif (@_jscript_version <= 5.8) attachEvent( 'on'+ @else@*/ addEventListener( /*@end@*/ 'click', fuga.listener, false); </script>
think49さんも、><さんも、ちゃんと寝てるの?体に悪いですぜぇ!