使用jquery/javascript的人我該如何檢查MouseLeave事件之後鼠標懸停的第一個元素?獲取MouseLeave事件後鼠標懸停的第一個元素
基本上,我想檢查從元素數組如果鼠標滾動這些元素或不。
我正在嘗試使用event.relatedTarget。 有什麼幫助嗎?
使用jquery/javascript的人我該如何檢查MouseLeave事件之後鼠標懸停的第一個元素?獲取MouseLeave事件後鼠標懸停的第一個元素
基本上,我想檢查從元素數組如果鼠標滾動這些元素或不。
我正在嘗試使用event.relatedTarget。 有什麼幫助嗎?
你可以做
$('element').mouseleave(function(event){
// assuming that allowedList holds the array of allowed elements
if (allowedList.indexOf(event.relatedTarget) > -1){
// found
} else {
// not found
}
});
使用jQuery,你可以這樣做:
$("#foo").mouseleave(function(e) {
var element = $(e.target);
});
這裏的工作的例子。您可以將鼠標懸停在文本「Hello」上,並在鼠標懸停時顯示它將要離開的元素。 http://jsfiddle.net/k7Gfv/
如果mouseenter(或懸停)與mouseleave不同,那麼您需要使用變量來跟蹤它。在mouseenter(或懸停)上,設置一個將存儲該元素的變量。在mouseleave上,然後你可以引用該變量(只要記得清除或重置下次mouseenter甚至被觸發時的值)。
不知道你在找什麼,但也許這是somehing這樣的:
var elements = $("#a1, #a2");
$("#a3").on('mouseleave', nextElm);
function nextElm() {
$('div').on('mouseenter', thisIsIt);
$("#r").html('Now hover another element ?');
}
function thisIsIt(e) {
if ($.inArray(e.target, elements)!=-1){
$("#r").html('yes');
}else{
$("#r").html('no');
}
$("#a3").off('mouseleave', nextElm);
$('div').off('mouseenter', thisIsIt);
}
你可以做這樣的事情。 Here's a fiddle
var hovered = false;;
$('div').mouseleave(function(e) {
hovered = true;
});
$('div').hover(function(ev) {
if (hovered) {
alert(ev.target);
hovered = false;
}
});
這正是我試圖實現。 – Lothre1 2012-04-29 14:03:43