123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- <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>
|