【发布时间】:2017-02-23 18:14:06
【问题描述】:
我有两个按钮 + 和 - 。当我点击 + 按钮时,我在父 div 中添加一个 div 并希望在我再次点击 + 按钮时在该 div 上显示工具提示,然后我再次添加一个 div 并只想在第二个 div 上显示工具提示。最多 7 个 div 也是如此。
目前我也在做同样的事情,但是当我添加多个 div 工具提示时,不会隐藏上一个按钮,并且仍然会存在。所以最后我看到了所有 7 个工具提示,但我应该只看到最后一个 div 工具提示。
经过一段时间的延迟,我试图隐藏它,但即使它不起作用。
这是我的代码。
function init(){
for(var divCount = 1; divCount <= fanSpeed; divCount++){
$('#temperature_bar').append('<div style="float:left" data-tooltip-id="'+divCount+'" id="speed_"'+divCount +'" class="trigger climate-fan-bar" onclick="\buttonTempraturePressed(this.id)\" title="<div class="row row-thumbnail" id="box-search"><div class="thumbnail text-center"><img width="50" height="50" src="images/fan_speed_bg_center_popup.png" class="img-responsive"><div class="caption"><span class="tooltip-text-size">' + divCount + '</span></div></div></div></div>' );
showTooltips("speed_"+divCount);
}
}
function showTooltips(clicked_id){
//show
$(clicked_id).on('click', '.trigger', function () {
$(this).addClass("on");
$(this).tooltip({
hide: { effect: "flip", duration: 1000 },
items: '.trigger.on',
position: {
my: "top",
at: "top",
collision: "flip"
}
});
$(this).trigger('mouseenter');
});
/*$(clicked_id).on('click', '.trigger.on', function () {
$(this).tooltip('close');
$(this).removeClass("on");
});*/
//prevent mouseout and other related events from firing their handlers
$(".trigger").on('mouseout', function (e) {
e.stopImmediatePropagation();
});
}
【问题讨论】:
-
你能发布一个活生生的例子/小提琴吗?
-
我无法创建小提琴,但我更新了我的代码。请通过它
-
没有 jsfiddle 很难调试。我至少可以说
onclick="\buttonTempraturePressed(this.id)\"应该替换为onclick="buttonTempraturePressed(this.id);"。 -
另外,将
" id="speed_"替换为" id="speed_(结尾"稍后在您的串联中提供)。 -
在
title="<div ...部分,一些双引号可能应该被转义。我不知道是哪些,因为我不太清楚应该包含在该属性中的内容。您可以尝试简化该部分,然后用最少的代码制作一个 jsfiddle。
标签: html jquery-ui hide jquery-ui-tooltip