我正在使用 jquery 工具 Tooltip 来创建工具提示。
我创建了一个这样的工具提示......一个工具提示,仅在单击时打开并在我按下关闭按钮时关闭(触发“closeTooltip”事件)。
$('#request_button').tooltip({
opacity: 1.0,
position: 'top center',
offset: [10, 0],
events: {
def: "openTooltip, closeTooltip",
tooltip: "undefinedEvent, closeTooltip"
},
onBeforeShow: function() {
alert("I will hide the existing tooltips first");
$('#request_button').trigger('closeTooltip');
},
onShow: function() {
alert("I have shown the new tooltip");
},
onBeforeHide: function() {
alert("I have started hiding existing tooltips");
},
onHide: function() {
alert("I have hidden all existing tooltips");
},
tip: "#tooltip_contents" // I am using same div for multiple trigger elements
});
我正在像这样打开/关闭工具提示..
$('#request_button').click(function() {
$(this).trigger('openTooltip');
});
$('#close_tooltip').click(function() {
$('#request_button).trigger('closeTooltip');
});
由于我定义了多个触发元素,我有必要关闭所有打开的工具提示。当我在 onBeforeShow() 事件中尝试这个时,它没有按照我想要的方式工作。
警报消息按以下顺序出现...
- 我将首先隐藏现有的工具提示
- 我已经展示了新的工具提示
- 我已经开始隐藏现有的工具提示
- 我隐藏了所有现有的工具提示
这样做是它也隐藏了当前的工具提示。我想要的顺序是...
- 我将首先隐藏现有的工具提示
- 我已经开始隐藏现有的工具提示
- 我隐藏了所有现有的工具提示
- 我已经展示了新的工具提示
我怎样才能做到这一点?我在这里做错了什么?