在我的.Net網絡應用程序中,我有一些「skmTooltipHost」類的元素,它們是動態放置在頁面上的。我的JQuery show()在IE中工作,但不是FF?
當鼠標懸停在它們上面時,應顯示一個工具提示類型的彈出窗口。這在IE中完美運行,但在Firefox中完全沒有。
請幫忙!
其中,那麼 「懸停和Show」
$(document).ready(function() {
$(".skmTooltipHost").hover(function() {
$(this).empty().append('<div class="skmTooltipContainer"><strong>hello</strong>' + $(this).attr('tooltip') + '</div>');
$(this).find('.skmTooltipContainer').css("left", $(this).position().left + 20);
$(this).find('.skmTooltipContainer').css("top", $(this).position().top + $(this).height());
$(".skmTooltipContainer").css("display", "inline-block");
$(".skmTooltipContainer").show();
$(this).show();
},function() {
$(".skmTooltipContainer").fadeTo(500, 1.0, function() { $(this).remove(); });
});
});
我的CSS
.skmTooltipHost
{
cursor: help;
border-bottom: dotted 1px brown;
}
.skmTooltipContainer
{
padding-left: 10px;
padding-right: 10px;
padding-top: 3px;
padding-bottom: 3px;
display:inline-block;
position: absolute!important;
background-color: #ff9;
border: solid 1px #333;
z-index: 999;
}
編輯
我終於用一組不同但相似的代碼做的JavaScript工作。我不確定有什麼不同。我的工作代碼如下:
function simple_tooltip(target_items, name) {
$(target_items).each(function (i) {
$("body").append("<div class='" + name + "' id='" + name + i + "'><p>Click for a link to the run details</br><strong>Server: </strong>" + $(this).attr('title') + "</br><strong>Information:</strong>" + $(this).attr('error') + "</p></div>");
var my_tooltip = $("#" + name + i);
$(this).removeAttr("title").mouseover(function() {
my_tooltip.css({ opacity: 0.8, display: "none" }).fadeIn(100);
}).mousemove(function (kmouse) {
my_tooltip.css({ left: kmouse.pageX + 15, top: kmouse.pageY + 15 });
}).mouseout(function() {
my_tooltip.fadeOut(100);
});
});
}
$(document).ready(function() {
simple_tooltip($(".skmTooltipHost"), "tooltip");
});
.tooltip{
position:absolute;
z-index:999;
left:-9999px;
background-color:#dedede;
padding:2px;
border:1px solid #fff;
width:250px;
}
.tooltip p{
margin:0;
padding:0;
color:black;
background-color:white;
padding:2px 7px;
}
其實這兩行現在什麼都不做,我只是加了它們去試試。它們似乎沒有影響功能。仍然適用於IE。不在FF中。 $(「。skmTooltipContainer」).css(「display」,「inline-block」); $(this).show(); – mplace 2013-03-12 10:00:56
您是否嘗試將定位添加到'.skmTooltipHost'(例如'position:relative;')? – MassivePenguin 2013-03-12 10:03:18
嘗試使用'.on'來觸發'hover'。 – Red 2013-03-12 10:07:14