Откройте div с помощью триггера и оставьте его открытым, пока мышь находится в открытом div - PullRequest
2 голосов
/ 20 сентября 2011

Простой вопрос jQuery Существует триггер, который открывает div, теперь я хочу, чтобы div оставался открытым, пока мышь находится в div.

Например.(триггер) -> открыть (поле) -> до тех пор, пока мышь в поле, оставить поле открытым.

Как это сделать?

http://jsfiddle.net/Gq2LX/

Ответы [ 2 ]

2 голосов
/ 20 сентября 2011

проблема в том, что ваш ховер работает над вашим триггером div.если вы оставляете триггер div, вызывается ваша функция mouseOut.

немного измените DOM и поставьте флажок INSIDE, триггер заставит его работать.

html:

<div id="trigger">
  <span>This is a trigger</span>
  <div id="box"></div>
</div>

script:

$('#trigger').hover(function() {
    $('#box').show();
}, function() {
    $('#box').hide();
});

css:

#box {width:350px;height:400px;border:1px solid #000;display:none;}
#trigger {width:350px;}

Я изменил ширину элемента #trigger (по умолчанию элемент div занимает 100%) и изменил разметку (добавивполе внутри триггера.

рабочий пример:

http://jsfiddle.net/Gq2LX/2/

0 голосов
/ 20 сентября 2011

или как это:

$('#trigger').mousenter(function() {
    $('#box').show();
});

$('#box').mouseleave(function() {
    $(this).hide();
});

http://jsfiddle.net/Gq2LX/6/

...