我正在向title
添加div
,其中包含以下简单的行:
j$("#div").attr("title", "My title.");
div
内部是一个选择器框。当您在选择器框中选择某些内容时,它会调用代码来移除title
的{{1}}。 (如果重要的话,这是使用div
函数。)
.change
如果未显示当前标题工具提示,则此代码非常有用。但是,如果正在显示标题工具提示,则jQuery无法从j$("#div").removeAttr("title");
中删除title
。由于选择器位于div
内,因此鼠标悬停在选择器上会显示div
。向下选择选择器中的项目会使工具提示显示整个时间。即使我强制关闭工具提示,title
代码仍然无法删除removeAttr
,因为代码的执行速度比工具提示的淡出更快。
我要么想要一种成功停止动画的方法(我尝试在停止时使用变体,并且似乎永远不会真正得到正确的工具提示来运行停止),这是一种延迟删除代码的方法标题直到淡出结束(我尝试title
,这不起作用),或者即使工具提示仍处于打开状态,也可以强行删除标题。
答案 0 :(得分:0)
你可以使用fadeOut()或类似的东西。淡出完成后执行函数回调。
$( "#div" ).click(function() {
$( "#div" ).fadeOut( "slow", function() {
// Animation complete.
});
});
答案 1 :(得分:0)
您还没有说过如何创建工具提示,这很重要。
如果您正在使用jQueryUI的工具提示功能(如果没有,为什么不呢?),那么您必须使用tooltip('destroy')
取消绑定工具提示,因此:
<强> HTML:强>
<div id="div">
<select id="divSel">
<option value="0">Choose One:</option>
<option value="1">One</option>
<option value="2">Two</option>
</select>
</div>
<input type="button" id="mybutt" value="Add Title" />
<强>的jQuery / JavaScript的:强>
$(document).tooltip();
$('#divSel').change(function() {
$(document).tooltip( "destroy" );
$("#div").removeAttr("title");
});
$('#mybutt').click(function() {
$("#div").attr("title", "This is a title added to display a tooltip.");
$(this).hide();
});
<强>的CSS:强>
#div {width:20%;height:80px;background:wheat;margin-bottom:10px;}
#divSel{margin-top:30px;margin-left:30px;}
答案 2 :(得分:0)
没有任何代码,很难说出可能出现的问题,但我无法重新创建此问题。
请参阅this fiddle:
<强> HTML 强>
<div id="div" title="My title.">
<div>#div</div>
<select id="sel">
<option value="0">Add tooltip</option>
<option value="1">Remove tooltip</option>
<option value="">Do Nothing</option>
</select>
</div>
<div>Log:</div>
<div id="logger"></div>
<强> jQuery的/使用Javascript 强>
var $log = $('#logger');
function log(text){
$log.append($('<div></div>').html(text));
}
$('#sel').change(function(){
switch(parseInt($(this).val())){
case 0:
$('#div').attr("title", "My title.");
log('Added tooltip');
break;
case 1:
$('#div').removeAttr("title");
log('Removed tooltip');
break;
default:
log('Nothing happened');
}
});
<强> CSS 强>
#div{height:200px;width:200px;background:#FFFFF0;border:1px solid red;}