[英]jQuery: $(this) on mouseenter-function
我的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>
我在鼠標輸入上的 JS:
$(this).find('.btn_del').css("display","block"); //doesn´t work?!
// $('.btn_del').css("display","block"); //
// $('.btn_del').css("display","block"); //
<- 這有效,但是,我所有的.btn_del
圖標都設置為顯示在我的菜單中-當我懸停時,我只想顯示一個圖標...
//(console.log 知道,當我懸停時 - 所以該功能有效)
定義函數:
"mouseenter th" : "delMouseEntered",
...
delMouseEntered: function(){
$(this).find('.btn_del').css("display","block");
},
...
謝謝!
嘗試在th
上綁定mouseenter
事件。 然后找到按鈕並顯示它!
$(document).on('mouseenter', 'th', function() {
$(this).find('.btn_del').css("display","block");
});
筆記:
在父元素上綁定事件。 然后找到按鈕並應用你想要的css
看起來您在錨點上附加了事件處理程序,因為它是組中唯一帶有文本的元素,並且將事件綁定到其他父元素將適用於共享片段。 在這種情況下,您需要定位懸停錨元素的下一個同級元素。
$('a.colHeaderEl').mouseenter(function() {
$(this).next().show;
});
我相信您還需要在 mouseout 上隱藏元素。 你可以使用.hover()
來實現:
$('a.colHeaderEl').hover(function() {
$(this).next().show();
},function() {
$(this).next().hide();
});;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.