event.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. module('event');
  2. test('bind/unbind/fire', function() {
  3. var result = '';
  4. function click1(e) {
  5. result += 'click1';
  6. }
  7. //bind
  8. K(document).click(click1);
  9. result = '';
  10. K(document).click();
  11. equals(result, 'click1');
  12. //unbind
  13. K(document).unbind('click', click1);
  14. result = '';
  15. K(document).click();
  16. equals(result, '');
  17. function click2(e) {
  18. K(this).html('click2');
  19. }
  20. K('#test-data-01').click(click2);
  21. K('#test-data-01').click();
  22. equals(K('#test-data-01').html(), 'click2');
  23. });
  24. test('unbind(el, type, fn)', function() {
  25. var result = '';
  26. function click1(e) {
  27. result += 'click1';
  28. }
  29. function click2(e) {
  30. result += 'click2';
  31. }
  32. function mousedown1(e) {
  33. result += 'mousedown1';
  34. }
  35. K(document).click(click1);
  36. K(document).click(click2);
  37. K(document).mousedown(mousedown1);
  38. result = '';
  39. K(document).click();
  40. equals(result, 'click1click2');
  41. result = '';
  42. K(document).mousedown();
  43. equals(result, 'mousedown1');
  44. K(document).unbind('click', click1);
  45. result = '';
  46. K(document).click();
  47. equals(result, 'click2');
  48. K(document).unbind('click', click2);
  49. result = '';
  50. K(document).click();
  51. equals(result, '');
  52. K(document).unbind('mousedown', mousedown1);
  53. result = '';
  54. K(document).mousedown();
  55. equals(result, '');
  56. });
  57. test('unbind(el, type)', function() {
  58. var result = '';
  59. function click1(e) {
  60. result += 'click1';
  61. }
  62. function click2(e) {
  63. result += 'click2';
  64. }
  65. function mousedown1(e) {
  66. result += 'mousedown1';
  67. }
  68. K(document).click(click1);
  69. K(document).click(click2);
  70. K(document).mousedown(mousedown1);
  71. //unbind click
  72. K(document).unbind('click');
  73. result = '';
  74. K(document).click();
  75. equals(result, '');
  76. //unbind mousedown
  77. K(document).unbind('mousedown');
  78. result = '';
  79. K(document).mousedown();
  80. equals(result, '');
  81. });
  82. test('unbind(el)', function() {
  83. var result = '';
  84. function click1(e) {
  85. result += 'click1';
  86. console.log('check');
  87. }
  88. function click2(e) {
  89. result += 'click2';
  90. console.log('check');
  91. }
  92. function mousedown1(e) {
  93. result += 'mousedown1';
  94. console.log('check');
  95. }
  96. K(document).click(click1);
  97. K(document).click(click2);
  98. K(document).mousedown(mousedown1);
  99. //unbind
  100. K(document).unbind();
  101. result = '';
  102. K(document).click();
  103. equals(result, '');
  104. result = '';
  105. K(document).mousedown();
  106. equals(result, '');
  107. });
  108. (function () {
  109. var outerEvent = K('#outerEvent'),
  110. innerEvent = K('#innerEvent'),
  111. eventMethod = K('#eventMethod'),
  112. outerDiv = K('#outerDiv'),
  113. innerDiv = K('#innerDiv');
  114. outerEvent.change(function(e) {
  115. outerDiv.unbind();
  116. if (outerEvent.val() === 'none') return;
  117. outerDiv.bind(outerEvent.val(), function(e) {
  118. console.log('outer: ' + outerEvent.val());
  119. if (eventMethod.val() === 'none') return;
  120. e[eventMethod.val()]();
  121. });
  122. });
  123. innerEvent.change(function(e) {
  124. innerDiv.unbind();
  125. if (innerEvent.val() === 'none') return;
  126. innerDiv.bind(innerEvent.val(), function(e) {
  127. console.log('inner: ' + innerEvent.val());
  128. if (eventMethod.val() === 'none') return;
  129. e[eventMethod.val()]();
  130. });
  131. });
  132. })();
  133. K.ready(function() {
  134. console.log('ready1');
  135. });
  136. K.ready(function() {
  137. console.log('ready2');
  138. });
  139. K.ready(function() {
  140. console.log('ready3');
  141. });
  142. K.ready(function() {
  143. console.log('ready4');
  144. });
  145. K.ready(function() {
  146. console.log('ready5');
  147. });