2009-07-19 3 views
0

У меня есть html-страница, полная данных. Всякий раз, когда пользователь наводится над записью, появляется всплывающее окно (похожее на всплывающую подсказку). Я хочу, чтобы эта всплывающая подсказка оставалась в поле зрения, пока пользователь не щелкает за ней, и блокируйте отображение других всплывающих подсказок.
Мой вопрос заключается в следующем: как мне «заблокировать» другие события наведения, используя флаги или какой-либо другой метод, для достижения этого?эмуляция двоичной блокировки JQuery

EDIT: Вопрос с помощью флагов: Скажем, в моем документе готов я это:

var flag = 1; 
flag = Inithoverhandler(flag); 
flag = Inithoverhandler2(flag); 

Поскольку обработчики при наведении курсора инициализируются только тогда, когда страница открывается, флаг никогда не обновляется. Какова правильная структура использования флагов в качестве переменных, передаваемых в и из функций?

Спасибо,
Майкла

ответ

0

Вы можете использовать флаг, или вы можете проверить, сколько окон в настоящее время видны с помощью: видимого селектора. Если это 1, не показывайте следующее окно.

$(".tooltip:visible").length; // how many tooltips are currently showing? 
$(".tooltip:visible").hide(); // hide any visible tooltip. 

Что касается только показывать всплывающие подсказки, когда никто другой не в настоящее время видны:

$(".showTooltip").click(function(){ 
    if ($(".tooltip:visible").length > 0) return false; 
    $(".tooltip", this).show(); 
}); 

Работа с:

<div class="showTooltip"> 
    <div class=".tooltip"><p>This is the tooltip.</p></div> 
</div> 
Смежные вопросы