mirror of
https://github.com/jquery/jquery.git
synced 2024-12-09 08:04:24 +00:00
159 lines
3.9 KiB
HTML
159 lines
3.9 KiB
HTML
<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>
|