将鼠标悬停在特定文本上时如何显示编辑操作图标
How to show edit action icon when mouse-over on particular text
如何在特定文本的鼠标悬停和鼠标移开时显示/隐藏编辑图标。
这是我的 html 代码片段
<ul>
<li>
<a id="pop" href="javascript:;;" data-content="test Desc" data-id="123">
<span class="testNameInfo">Test</span>
</a>
<div class="pull-right icons-align">
<a href="javascript:;;" class="editInline"><i class="fa fa-pencil"></i>..</a>
<a href="javascript:;;"><i class="fa fa-plus"></i></a>
<a href="javascript:;;"><i class="fa fa-times"></i></a>
</div>
</li>
</ul>
当页面加载时,铅笔图标处于隐藏状态。当我将鼠标悬停在文本上时,它应该显示铅笔图标。其余图标(添加和删除)始终处于显示状态。
这是我的 javascript 隐藏铅笔图标
$("a.editInline").css("display","none");
我正在使用 backbone 和 marionette js 框架,所以我需要在视图中注册事件。
请告诉我解决问题的最佳方法。
您可以进行以下操作:
$('.testNameInfo').on('mouseover mouseout',function(){
$(this).closest('li').find('.editInline').toggle();
//find the closest li and find its children with class editInLine and
//toggle its display using 'toggle()'
});
更新
@JamieBarker 提出了他的观点,这在这里是有效的,所以我建议改为尝试下面的代码
$("a.editInline").css("display","none");
$('li').on('mouseover mouseout',function(){
$(this).find('.editInline').toggle();
//find its children with class .editInLine and
//toggle its display using 'toggle()'
});
更新
Performance/Simplicity 明智的我建议使用提供的 CSS 解决方案。如果其他一切都可以使用 JS 解决方案。
可选CSS解决方案
.editInline {
display: none;
}
#pop:hover .icons-align .editInline {
display: inline-block;
}
JS 解决方案
$(function() {
$(".editInline").hide(); // Use this if CSS is not wanted
$("#pop").hover(function() {
$(".editInline").show();
}, function() {
$(".editInline").hide();
});
});
如果可以的话,使用 CSS 比 JavaScript 更好:
a.editInline {
display:none;
}
li:hover a.editInline {
display:inline-block;
}
如何在特定文本的鼠标悬停和鼠标移开时显示/隐藏编辑图标。
这是我的 html 代码片段
<ul>
<li>
<a id="pop" href="javascript:;;" data-content="test Desc" data-id="123">
<span class="testNameInfo">Test</span>
</a>
<div class="pull-right icons-align">
<a href="javascript:;;" class="editInline"><i class="fa fa-pencil"></i>..</a>
<a href="javascript:;;"><i class="fa fa-plus"></i></a>
<a href="javascript:;;"><i class="fa fa-times"></i></a>
</div>
</li>
</ul>
当页面加载时,铅笔图标处于隐藏状态。当我将鼠标悬停在文本上时,它应该显示铅笔图标。其余图标(添加和删除)始终处于显示状态。
这是我的 javascript 隐藏铅笔图标
$("a.editInline").css("display","none");
我正在使用 backbone 和 marionette js 框架,所以我需要在视图中注册事件。
请告诉我解决问题的最佳方法。
您可以进行以下操作:
$('.testNameInfo').on('mouseover mouseout',function(){
$(this).closest('li').find('.editInline').toggle();
//find the closest li and find its children with class editInLine and
//toggle its display using 'toggle()'
});
更新
@JamieBarker 提出了他的观点,这在这里是有效的,所以我建议改为尝试下面的代码
$("a.editInline").css("display","none");
$('li').on('mouseover mouseout',function(){
$(this).find('.editInline').toggle();
//find its children with class .editInLine and
//toggle its display using 'toggle()'
});
更新
Performance/Simplicity 明智的我建议使用提供的 CSS 解决方案。如果其他一切都可以使用 JS 解决方案。
可选CSS解决方案
.editInline {
display: none;
}
#pop:hover .icons-align .editInline {
display: inline-block;
}
JS 解决方案
$(function() {
$(".editInline").hide(); // Use this if CSS is not wanted
$("#pop").hover(function() {
$(".editInline").show();
}, function() {
$(".editInline").hide();
});
});
如果可以的话,使用 CSS 比 JavaScript 更好:
a.editInline {
display:none;
}
li:hover a.editInline {
display:inline-block;
}