首先,这就是我得到的:
$('div.pickup').load('/pages/pickup.php?pickup=' + pickup, function() {
$('div.pickup').fadeIn(300);
var box = $('#tooltip');
var trigger = $('.tip');
trigger.hover(function(e) {
alert('Showing tooltip with text: ' + $(this).attr('title'));
box.text($(this).attr('title'));
box.css({
'top': (e.pageY - 10) + 'px',
'left': (e.pageX + 20) + 'px'
}).fadeIn(300);
}, function() {
box.hide();
});
trigger.mousemove(function(e) {
box.css({
'top': (e.pageY - 10) + 'px',
'left': (e.pageX + 20) + 'px'
});
});
});
表头包含名为的“触发器类”.tip
。具有该类的每个元素都应在悬停时启动工具提示。包含-class的th.tip
如下所示:
<th class="type red b_l b_b tip" title="test">T</th>
<th>
当悬停包含的元素时,我希望工具提示出现在鼠标光标附近,触发class="tip"
了悬停事件,但我得到的只是来自alert()调用的对话框。
div 元素只是PHP文件中的#tooltip
一行;<div id="tooltip"></div>
CSS:
#tooltip {
display: none;
position: absolute;
z-index: 1;
background-color: #ffffff;
border: 1px solid #000000;
padding: 3px;
font-family: Consolas, monaco, monospace;
font-size: 0.8em;
letter-spacing: 0.1em;
box-shadow: 0px 3px 4px #000000;
}
我很确定工具提示不是隐藏在另一个元素后面(即包含),#tooltip
是唯一z-index
手动设置的元素。我什至试过z-index: 999
。
我究竟做错了什么?
- 在最新的 IE 和 FF 版本中测试