Javascript 标题为空时停止触发PopOver
我在一个网站上工作。你可以在这里预览有问题的页面:(不要介意声音,它们不会自动播放,将来会有播放/静音的选项) 我正在使用这个项目 我想为门附近指示房间名称的牌匾启用弹出式按钮 我设法激活了弹出窗口,但问题是我无法控制我希望它们出现的对象 我不想要一个爆米花,当有人悬停在除了那些牌匾以外的其他物体上时 由于PopOver中的文本位于该区域的Javascript 标题为空时停止触发PopOver,javascript,jquery,Javascript,Jquery,我在一个网站上工作。你可以在这里预览有问题的页面:(不要介意声音,它们不会自动播放,将来会有播放/静音的选项) 我正在使用这个项目 我想为门附近指示房间名称的牌匾启用弹出式按钮 我设法激活了弹出窗口,但问题是我无法控制我希望它们出现的对象 我不想要一个爆米花,当有人悬停在除了那些牌匾以外的其他物体上时 由于PopOver中的文本位于该区域的标题内,因此我认为检查标题是否为空不会触发PopOver 代码如下: $("img[usemap]").mapify({ popOver: {
标题
内,因此我认为检查标题
是否为空不会触发PopOver
代码如下:
$("img[usemap]").mapify({
popOver: {
content: function(zone){
return "<strong>"+zone.attr("data-title")+"</strong>";
},
delay: 0.7,
margin: "15px",
height: "60px",
width: "150px"
}
});
$(“img[usemap]”)。mapify({
流行音乐:{
内容:功能(区域){
返回“”+zone.attr(“数据标题”)+””;
},
延迟:0.7,
边距:“15px”,
高度:“60px”,
宽度:“150像素”
}
});
这是HTML:
<area data-group-id="group-2" alt="f01_r01" title="Secretariat" shape="poly" coords="375,391,375,450,381,452,444,452,446,446,446,399,443,394,382,390" nohref alt="" title="Secretariat" data-hover-class="custom-hover-1"/>
我看了看,我试着增加一些条件,但结果并不好
如果您需要任何其他信息,请告诉我。我认为您最好的选择是在您不需要popover的区域使用自定义popover类,并显示
无!重要信息
样式
<area data-pop-over-class="hidden" href="#" shape="poly" coords="..." />
.hidden {
display: none !important;
}
然后将数据popover disabled
添加到您不希望显示popover的区域
编辑2
用于指定的缩小版本
查找:
prototype._renderPopOver=function(a){this.isCustomPopOver?this._renderCustomPopOver(a):this._renderDefaultPopOver(a)}
替换:
prototype._renderPopOver=function(a){if(a.hasAttribute('data-popover-disabled'))return;this.isCustomPopOver?this._renderCustomPopOver(a):this._renderDefaultPopOver(a)}
是的,这似乎是个明智的选择。照你说的做,但我有一些奇怪的行为。第一次查看时,它可以工作,但在页面上停留一段时间并将鼠标移到可单击的项目上后,您会注意到弹出窗口到处都是。如果不修改原始源代码,我看不到其他方法。这是一种选择吗?不会,但不幸的是我缺乏实现这一点的技能。@SporeDev-我已经编辑了我的答案。这个变化没有经过测试,但我认为它应该有效。你的意思是这样吗?数据忽略=“真”?
prototype._renderPopOver=function(a){if(a.hasAttribute('data-popover-disabled'))return;this.isCustomPopOver?this._renderCustomPopOver(a):this._renderDefaultPopOver(a)}