Imagemap:让点击区域的工具提示显示在鼠标窗口上
Imagemap: Leave clicked area's tooltip displayed on mouseout?
我使用插件Imagemapster添加高亮显示和工具提示功能到图像映射。它提供了如下的回调:
image.mapster(
{
mapKey: 'name',
listKey: 'name',
onClick: function (e) {
if(!$(this).hasClass('clicked')){
$(this).addClass('clicked');
}
$('#selections').html(xref[e.key]);
},
onMouseover: function (e) {
$('#selections').html(xref[e.key]);
},
onMouseout: function (e) {
if(!$(this).hasClass('clicked')){
$('#selections').html('');
}
},
});
下面是我的例子:
http://jsfiddle.net/5scbh/6/如果你点击一个项目,我希望该项目的工具提示保持显示,即使你的鼠标离开。我有点在那里,但问题是:如果你点击一个项目,然后鼠标移到另一个区域,然后鼠标移出…它不会将所单击项的工具提示保持在鼠标外。
我喜欢工具提示在鼠标悬停时改变到你翻转的任何地方,但是一旦你把鼠标移出那个区域或图像地图,我希望它回到显示任何被点击区域的工具提示。如果您取消单击已单击的区域,因此没有单击任何内容,则工具提示应该消失。
你能帮我做这件事吗?谢谢你。
您可以将当前的工具提示存储在data属性中,然后在鼠标退出时将其写回。
...
onClick: function (e) {
if(!$(this).hasClass('clicked')){
$(this).addClass('clicked');
}
$('#selections').html(xref[e.key]);
$( '#selections' ).data( 'storage', xref[e.key] );
},
...
onMouseout: function (e) {
if(!$(this).hasClass('clicked')){
$('#selections').html('');
}
if( $( '#selections' ).data( 'storage' ) ) {
$( '#selections' ).html( $( '#selections' ).data( 'storage' ) );
};
},
....
更新你的小提琴
这是更新后的提琴,使用了@robotroll提供的正确编辑,以及解决了我上面评论中描述的选择/取消选择问题。
用下面的代码解决了这个问题:
onClick: function (e) {
if (e.selected) {
$(this).addClass('clicked');
$('#selections').html(xref[e.key]);
$('#selections').data( 'storage', xref[e.key] );
} else {
$(this).removeClass('clicked');
$('#selections').removeData();
$('#selections').html('');
}
},
http://jsfiddle.net/5scbh/10/相关文章:
- 如何在MVC3中显示鼠标悬停在文本上的部分视图
- 如何在asp:linkButton上显示鼠标悬停事件上的图像
- 引导程序手风琴显示鼠标悬停上的数据
- 谷歌可视化时间线显示鼠标光标的时间
- 在图像附近显示鼠标上的工具提示
- 在phantom.js中显示鼠标光标
- 在谷歌地图v3中显示鼠标悬停事件的工具提示
- 使用jQuery显示鼠标悬停在列表元素上时的高亮效果
- JavaScript显示鼠标多次单击的坐标
- 如何使用Javascript隐藏和显示鼠标悬停在包含元素上的元素
- 显示鼠标位置
- 如何使用JS和CSS在html中显示鼠标弹出窗口
- 我想为选中的项目附加一个点击事件,并在jquery的自动完成控件中显示鼠标上的工具提示
- 如何显示鼠标悬停标题单元格的工具提示?
- UI滑块显示鼠标上移前后移动值的差异
- 高亮显示鼠标在某个范围内的位置
- 如何在php中显示鼠标悬停时弹出的文本
- jQuery显示鼠标离开后隐藏延迟仍在运行
- 如何在fabric.js中显示鼠标坐标?
- 使用JavaScript显示鼠标性别和鼠标位置不起作用