2015-09-15 17 views
-3

我的HTML:

<th> 
<div class="relative"> 
    <span class="colHeader"> 
    <a class="colHeaderEl" data-index="1" id="extension" value="extension">extension</a> 
    <div data-index="1" class="delAll"> 
     <button data-index="1" class="btn_del"> 
     <i class="icon-trash"></i> 
     </button> 
    </div> 
    </span> 
</div> 
</th> 

我對日的mouseenter JS:

$(this).find('.btn_del').css("display","block"); //doesn´t work?! 

// $('.btn_del').css("display","block"); // < - 這工作,但比,我所有的.btn_del圖標都設置爲顯示在我的菜單 - 我想顯示只有一個圖標,當我徘徊...

//(console.log知道,當我懸停 - 所以功能的作品)

定義功能:

"mouseenter th" : "delMouseEntered", 
... 

delMouseEntered: function(){ 
    $(this).find('.btn_del').css("display","block"); 
}, 
... 

謝謝!

+2

顯示完整的事件處理程序代碼。 – Satpal

+1

分享mouseenter事件以及 –

回答

2

嘗試綁定th上的mouseenter事件。然後找到按鈕並顯示它!

$(document).on('mouseenter', 'th', function() { 
    $(this).find('.btn_del').css("display","block"); 
}); 

注:

綁定父元素上的事件。然後找到該按鈕並應用您想要的css

+2

因此元素在開始時不可見。在這種情況下懸停事件將如何被解僱? –

+0

即使更新後。此答案無效。如果OP試圖使用'a'標籤的mouseenter事件怎麼辦? –

+0

Milind你是對的!更正:) – kapantzak

1

看起來您已將附加的事件處理程序附加在錨點上,因爲它是組中的文本的唯一元素,並且對其他父元素的綁定事件對共享代碼段起作用。在這種情況下,您需要定位錨點元素的下一個兄弟元素。

$('a.colHeaderEl').mouseenter(function() { 
    $(this).next().show; 
}); 

我相信你也需要在mouseout上隱藏元素。你可以對我們.hover()這個:

$('a.colHeaderEl').hover(function() { 
    $(this).next().show(); 
},function() { 
    $(this).next().hide(); 
});; 
+1

這個答案可能是有效的每個OP嘗試+ 1但它只是沒有下一個,但它的下一個和孩子。 –

+0

使用'show'而不是'css(...' – Tushar