2012-07-03 2 views
0

아래 코드는 마우스 오버 또는 버튼을 사용하면 팝업이 닫히지 않도록해야하지만 다시로드 할 때 한 번만 작동하고 작동을 멈추게해야합니다.코드는 한 번만 실행되지만 계속해야합니다.

$('.popover3-test').popover({ 
    placement:'bottom', 
    template: $('.popover2'), 
    trigger: 'manual', 

    }).mouseenter(function(e) { 
    $(this).popover('show'); 

    var t = null; 

    $(".popover2, .popover3-test") 
     .mouseleave(function() { 
      t = setTimeout(function() { 
       $('.popover2').hide(); 
      }, 1000); // Or however many milliseconds 
     }) 
     .mouseenter(function() { 
      if(t !== null) 
       clearTimeout(t); 
     }); 
    }); 

데모 : http://jsfiddle.net/MnpWV/1/

+0

질문을 다시 말하십시오. – Ibu

+0

한 번 작동 한 다음 작동을 멈추고 작동을 계속하고 싶습니다. – dezman

+1

@watson이 'clearTimeout'을 제거하면 작동합니다. http://jsfiddle.net/MnpWV/2/ – undefined

답변

1

이 시도 :

$(".popover2, .popover3-test") 
     .mouseleave(function() { 
      $('.popover2').delay(1000).fadeOut('1000'); 
     } 
}); 

http://jsfiddle.net/MnpWV/8/

갱신 :

$(".popover2").hover(function(e) { 
    $(this).show() 
}, function() { 
    $('this').delay(1000).fadeOut('1000'); 
}) 

,818,321 0

이벤트를 발생시키는 .popover3-test을 제거하십시오.

+0

popover ('.popover2')를 마우스 오버하면 표시되어 있어야합니다. – dezman

+0

.popover2 위로 마우스를 가져 가지 않으면 절대 사라지지 않습니다. – dezman

+0

shucks, but thanks – dezman

관련 문제