我想知道用戶是否停止按下按鈕。所以我捕獲$ button.mouseup(...)和$ button.mouseout(...)事件。但是,我希望mouseout事件只在用戶仍然按下鼠標時才起作用 - 否則,只要用戶通過按鈕,就會觸發它。檢查鼠標事件是否關閉 - jQuery
任何想法?
我想知道用戶是否停止按下按鈕。所以我捕獲$ button.mouseup(...)和$ button.mouseout(...)事件。但是,我希望mouseout事件只在用戶仍然按下鼠標時才起作用 - 否則,只要用戶通過按鈕,就會觸發它。檢查鼠標事件是否關閉 - jQuery
任何想法?
檢查e.which
,表示按下按鈕。
美麗,這幫了我很多。 – 2011-10-08 22:12:18
一個快速和骯髒的方法是使用全局變量(或關閉;給予某種方式既mouseup
和mouseout
功能訪問相同的變量):
var mouseIsUp = true,
onMouseUp = function() {
mouseIsUp = true;
// ...
},
onMouseDown = function() {
mouseIsUp = false;
},
onMouseOut = function() {
if (!mouseIsUp) {
// ...
}
};
我不確定在鼠標移出mousedown事件和mouseup事件之間的原始元素的情況下會起作用。 – Alnitak 2011-05-17 17:25:46
@Alnitak我認爲我打錯了條件檢查。那是你在說什麼? – sdleihssirhc 2011-05-17 17:27:59
你可以只設置一個全局變量在mousedown上'true'並在'mouseout'上獲得這個值。 – pimvdb 2011-05-17 16:55:33