| <html> | |
| <head> | |
| <title>Hover tests</title> | |
| <script src="jquery.js"></script> | |
| <style> | |
| /* Remove body dimensions so we can test enter/leave to surrounding browser chrome */ | |
| body, html { | |
| border: 0; | |
| margin: 0; | |
| padding: 0; | |
| } | |
| p { | |
| margin: 2px 0; | |
| } | |
| .hover-box { | |
| background: #f33; | |
| padding: 3px; | |
| margin: 10px 40px 20px 0; | |
| } | |
| .hover-status { | |
| background: #f66; | |
| padding: 1px; | |
| } | |
| .hover-inside { | |
| background: #6f6; | |
| padding: 1px; | |
| margin: 8px auto; | |
| width: 40%; | |
| text-align: center; | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <h2>Hover (mouse{over,out,enter,leave}) Tests</h2> | |
| <p>Be sure to try moving the mouse out of the browser via the left side on each test.</p> | |
| <div id="wrapper"> | |
| <div id="hoverbox" class="hover-box"> | |
| <div class="hover-status"> | |
| <button>Activate</button> | |
| .hover() in/out: <span class="ins">0</span> / <span class="outs">0</span> | |
| </div> | |
| <div class="hover-inside"> | |
| Mouse over here should NOT trigger the counter. | |
| </div> | |
| </div> | |
| <div id="liveenterbox" class="hover-box"> | |
| <div class="hover-status"> | |
| <button>Activate</button> | |
| Live enter/leave: <span class="ins">0</span> / <span class="outs">0</span> | |
| </div> | |
| <div class="hover-inside"> | |
| Mouse over here should NOT trigger the counter. | |
| </div> | |
| </div> | |
| <div id="delegateenterbox" class="hover-box"> | |
| <div class="hover-status"> | |
| <button>Activate</button> | |
| Delegated enter/leave: <span class="ins">0</span> / <span class="outs">0</span> | |
| </div> | |
| <div class="hover-inside"> | |
| Mouse over here should NOT trigger the counter. | |
| </div> | |
| </div> | |
| <div id="overbox" class="hover-box"> | |
| <div class="hover-status"> | |
| <button>Activate</button> | |
| Bind over/out: <span class="ins">0</span> / <span class="outs">0</span> | |
| </div> | |
| <div class="hover-inside"> | |
| Mouse over here SHOULD trigger the counter. | |
| </div> | |
| </div> | |
| <div id="liveoverbox" class="hover-box"> | |
| <div class="hover-status"> | |
| <button>Activate</button> | |
| Live over/out: <span class="ins">0</span> / <span class="outs">0</span> | |
| </div> | |
| <div class="hover-inside"> | |
| Mouse over here SHOULD trigger the counter. | |
| </div> | |
| </div> | |
| <div id="delegateoverbox" class="hover-box"> | |
| <div class="hover-status"> | |
| <button>Activate</button> | |
| Delegated over/out: <span class="ins">0</span> / <span class="outs">0</span> | |
| </div> | |
| <div class="hover-inside"> | |
| Mouse over here SHOULD trigger the counter. | |
| </div> | |
| </div> | |
| </div> <!-- wrapper --> | |
| <script> | |
| $(function(){ | |
| var x, | |
| countIns = function() { | |
| var d = $(this).data(); | |
| $("span.ins", this).text(++d.ins); | |
| }, | |
| countOuts = function() { | |
| var d = $(this).data(); | |
| $("span.outs", this).text(++d.outs); | |
| }; | |
| // Tests can be activated separately or in combination to check for interference | |
| $("#hoverbox button").click(function(){ | |
| $("#hoverbox") | |
| .data({ ins: 0, outs: 0 }) | |
| .hover( countIns, countOuts ); | |
| $(this).remove(); | |
| }); | |
| $("#delegateenterbox button").click(function(){ | |
| $("html") | |
| .find("#delegateenterbox").data({ ins: 0, outs: 0 }).end() | |
| .delegate("#delegateenterbox", "mouseenter", countIns ) | |
| .delegate("#delegateenterbox", "mouseleave", countOuts ); | |
| $(this).remove(); | |
| }); | |
| $("#liveenterbox button").click(function(){ | |
| $("#liveenterbox") | |
| .data({ ins: 0, outs: 0 }) | |
| .live("mouseenter", countIns ) | |
| .live("mouseleave", countOuts ); | |
| $(this).remove(); | |
| }); | |
| $("#overbox button").click(function(){ | |
| $("#overbox") | |
| .data({ ins: 0, outs: 0 }) | |
| .bind("mouseover", countIns ) | |
| .bind("mouseout", countOuts ); | |
| $(this).remove(); | |
| }); | |
| $("#liveoverbox button").click(function(){ | |
| $("#liveoverbox") | |
| .data({ ins: 0, outs: 0 }) | |
| .live("mouseover", countIns ) | |
| .live("mouseout", countOuts ); | |
| $(this).remove(); | |
| }); | |
| $("#delegateoverbox button").click(function(){ | |
| $(document) | |
| .find("#delegateoverbox").data({ ins: 0, outs: 0 }).end() | |
| .delegate("#delegateoverbox", "mouseover", countIns ) | |
| .delegate("#delegateoverbox", "mouseout", countOuts ); | |
| $(this).remove(); | |
| }); | |
| }); | |
| </script> | |
| </body> | |
| </html> |