試試這個fiddle:
HTML:
<button id="button">Click here</button><br/>
Status: <span id="status"></span>
的Javascript:
observeTriState("#button", function(state) {
var states = { '0':'Push', '1':'Release', '2':'Hold Down' };
$("#status").text(states[state]);
}, 500);
function observeTriState(selector, callback, holdDelay) {
var mouseDown = false;
var mouseIn = false;
var interval;
function checkStatus() {
if (mouseDown && mouseIn) {
callback(2)
}
}
$(selector).mousedown(function() {
callback(0);
mouseDown = true;
interval = setInterval(checkStatus, holdDelay);
}).mouseup(function() {
mouseDown = false;
callback(1);
clearInterval(interval);
}).mouseenter(function() {
mouseIn = true;
}).mouseleave(function() {
mouseIn = false;
mouseDown = false;
clearInterval(interval);
callback(1);
});
}
移動你的代碼http://jsfiddle.net或http:// jsbin。 com –
什麼是'post'?而「持有」是指無限循環? – Bergi