복붙노트

[JQUERY] 마우스가 jQuery를의 요소 상에 있는지 어떻게 확인합니까?

JQUERY

마우스가 jQuery를의 요소 상에 있는지 어떻게 확인합니까?

해결법


  1. 1.페이드 아웃에로 마우스에 타임 아웃을 설정하고 객체의 데이터에 대한 반환 값을 저장합니다. 데이터의 값이있는 경우 다음 onMouseover와, 타임 아웃을 취소 할 수 있습니다.

    페이드 아웃에로 마우스에 타임 아웃을 설정하고 객체의 데이터에 대한 반환 값을 저장합니다. 데이터의 값이있는 경우 다음 onMouseover와, 타임 아웃을 취소 할 수 있습니다.

    페이드 아웃의 콜백의 데이터를 제거합니다.

    그들이 메뉴 어린이 마우스 오버 /로 마우스 화재에 대한 화재를하지 않기 때문에하는 MouseLeave / mouseenter 사용하는 것이 실제로 저렴합니다.


  2. 2.이 코드는 해리를 happytime 내가 말하려고하는 것을 보여줍니다. 마우스 입력하면 툴팁이 나오는 마우스는 그것이 사라질 때까지 지연을 설정 떠날 때. 지연이 트리거되기 전에 마우스가 같은 요소를 입력하면 우리가 이전에 저장된 데이터를 개시되기 전에, 우리는 방아쇠를 파괴한다.

    이 코드는 해리를 happytime 내가 말하려고하는 것을 보여줍니다. 마우스 입력하면 툴팁이 나오는 마우스는 그것이 사라질 때까지 지연을 설정 떠날 때. 지연이 트리거되기 전에 마우스가 같은 요소를 입력하면 우리가 이전에 저장된 데이터를 개시되기 전에, 우리는 방아쇠를 파괴한다.

    $("someelement").mouseenter(function(){
        clearTimeout($(this).data('timeoutId'));
        $(this).find(".tooltip").fadeIn("slow");
    }).mouseleave(function(){
        var someElement = $(this),
            timeoutId = setTimeout(function(){
                someElement.find(".tooltip").fadeOut("slow");
            }, 650);
        //set the timeoutId, allowing us to clear this trigger if the mouse comes back over
        someElement.data('timeoutId', timeoutId); 
    });
    

  3. 3.깨끗한 우아한 가져가 검사 :

    깨끗한 우아한 가져가 검사 :

    if ($('#element:hover').length != 0) {
        // do something ;)
    }
    

  4. 4.경고 : ( '호버') JQuery와에서 더 이상 사용되지 않습니다 1.8 이상이다. 솔루션이 게시물을 참조하십시오.

    경고 : ( '호버') JQuery와에서 더 이상 사용되지 않습니다 1.8 이상이다. 솔루션이 게시물을 참조하십시오.

    마우스가 요소 호버 경우 시험에 https://stackoverflow.com/a/6035278/8843 : 당신이 대답을 사용할 수 있습니다 :

    $('#test').click(function() {
        if ($('#hello').is(':hover')) {
            alert('hello');
        }
    });
    

  5. 5.수동 추적하기 위해 jQuery의 호버 이벤트를 사용할 수 있습니다 :

    수동 추적하기 위해 jQuery의 호버 이벤트를 사용할 수 있습니다 :

    $(...).hover(
        function() { $.data(this, 'hover', true); },
        function() { $.data(this, 'hover', false); }
    ).data('hover', false);
    
    if ($(something).data('hover'))
        //Hovered!
    

  6. 6.내가 방법 ismouseover을 추가하는 작은 JQuery와 플러그인을 만들 수 있도록 나는 (좀 더 복잡한 환경과 'mouseenters'제대로 작동 'mouseleaves'않네의 많은 솔루션을)이 정확히 무엇인가가 필요했다. 그것은 지금까지 꽤 잘 일했다.

    내가 방법 ismouseover을 추가하는 작은 JQuery와 플러그인을 만들 수 있도록 나는 (좀 더 복잡한 환경과 'mouseenters'제대로 작동 'mouseleaves'않네의 많은 솔루션을)이 정확히 무엇인가가 필요했다. 그것은 지금까지 꽤 잘 일했다.

    //jQuery ismouseover  method
    (function($){ 
        $.mlp = {x:0,y:0}; // Mouse Last Position
        function documentHandler(){
            var $current = this === document ? $(this) : $(this).contents();
            $current.mousemove(function(e){jQuery.mlp = {x:e.pageX,y:e.pageY}});
            $current.find("iframe").load(documentHandler);
        }
        $(documentHandler);
        $.fn.ismouseover = function(overThis) {  
            var result = false;
            this.eq(0).each(function() {  
                    var $current = $(this).is("iframe") ? $(this).contents().find("body") : $(this);
                    var offset = $current.offset();             
                    result =    offset.left<=$.mlp.x && offset.left + $current.outerWidth() > $.mlp.x &&
                                offset.top<=$.mlp.y && offset.top + $current.outerHeight() > $.mlp.y;
            });  
            return result;
        };  
    })(jQuery);
    

    그런 다음 문서의 어떤 장소에서 요는 다음과 같이 호출하고 true 또는 false를 반환합니다 :

    $("#player").ismouseover()
    

    나는 IE7 +, 크롬 1+와 파이어 폭스 4를 테스트하고 제대로 작동.


  7. 7.그래서, : jQuery를 당신이 됐나 ( '호버')를 사용할 수 있습니다

    그래서, : jQuery를 당신이 됐나 ( '호버')를 사용할 수 있습니다

    function IsMouseOver(oi)
    {
       return $(oi).is(':hover');
    }
    

    지금은 영업 이익에서 요청 된 기능을 제공하는 가장 간결한 방법이 될 것입니다.

    참고 : 위의 않습니다 IE8 이하에서하지 작업

    IE8 (나는 IE9의 IE8 잠정를 신뢰할 수있는 경우)에서 작업을 수행하고, $를 (...) 트리거하지 않고 그렇게 적은 간결 대안으로. 여기 저기 호버 (...) 모든 않으며, 요소의 선택을 아는 필요 (있는 경우 이보의 대답은 쉽게) :

    function IsMouseOver(oi)
    {
        return oi.length && 
               oi.parent()
                 .find(':hover')
                 .filter(function(s){return oi[0]==this})
                 .length > 0;
    }
    

  8. 8.나는 SLaks '아이디어를 가져다가 작은 클래스에 싸서.

    나는 SLaks '아이디어를 가져다가 작은 클래스에 싸서.

    function HoverWatcher(selector){
      this.hovering = false;
      var self = this; 
    
      this.isHoveringOver = function() { 
        return self.hovering; 
      } 
    
        $(selector).hover(function() { 
          self.hovering = true; 
        }, function() { 
          self.hovering = false; 
        }) 
    } 
    
    var box1Watcher = new HoverWatcher('#box1');
    var box2Watcher = new HoverWatcher('#box2');
    
    
    
    $('#container').click(function() {
      alert("box1.hover = " + box1Watcher.isHoveringOver() +
            ", box2.hover = " + box2Watcher.isHoveringOver());
    });
    

  9. 9.그 많은이 작업을 수행 할 수 있습니다 플러그인 내가 jQuery를했다. 내 플러그인에서 커서가 현재 마우스가 가리키는 모든 요소를 ​​얻기 위해, 단순히 다음을 수행합니다 :

    그 많은이 작업을 수행 할 수 있습니다 플러그인 내가 jQuery를했다. 내 플러그인에서 커서가 현재 마우스가 가리키는 모든 요소를 ​​얻기 위해, 단순히 다음을 수행합니다 :

    $.cursor("isHover"); // will return jQ object of all elements the cursor is 
                         // currently over & doesn't require timer
    

    내가 언급 한 바와 같이 jsFiddle이 여기에 당신이 볼 수 있듯이, 그것은 또한 다른 용도을 많이 가지고


  10. 10.제가 말씀 드릴 수 없습니다, 나는 대답으로이 쓰기 있도록!

    제가 말씀 드릴 수 없습니다, 나는 대답으로이 쓰기 있도록!

    "가져가"와 호버 이벤트 CSS 선택의 차이를 이해하시기 바랍니다!

    . "호버"는 CSS를 선택하고이 $처럼 사용할 때 실제로 이벤트와 제거 ( "# elementId로부터는")이다 ( "호버")하지만 의미 년대에 그것은 jQuery를 이벤트 호버과는 정말 아무 상관이 없다 .

    당신 코드 $은 ( "# elementId로부터 : 호버")을하면, 요소는 단지 마우스로 때를 가져가 선택됩니다. 위의 문장은 당신의 순수하고 합법적 인 CSS를 선택하여이 요소를 선택 모든 jQuery를 버전과 함께 작동합니다.

    다른 손으로 이벤트 호버에

    $("#elementId").hover(
         function() { 
             doSomething(); 
         }
    ); 
    

    실제로 여기에 jQuery를 1.8 jQuery를 웹 사이트에서 상태로 deprecaded한다 :

    ( "호버") 불분명하지만, 아 글쎄, 당신은 여전히 ​​위처럼 사용할 수 있으며 여기에 아직도 그것을 사용하려면 약간의 해킹 왜 그들이 사용을 제거하는 것입니다.

    (function ($) {
       /** 
        * :hover selector was removed from jQuery 1.8+ and cannot be used with .is(":hover") 
        * but using it in this way it works as :hover is css selector! 
        *
        **/
        $.fn.isMouseOver = function() {
            return $(this).parent().find($(this).selector + ":hover").length > 0;
        };
    })(jQuery);
    

    거기에 다른 방법이 없다 나를 믿는다면이 모든 경우의 95 % 퍼센트 또 다른 방법이에, 이런 종류의 물건에 대한 기능 제한 시간 복잡도의 많은 이용을 제공로서 아, 그리고 나는 시간 제한 버전을 recomment 않을 것이다!

    희망 나는 거기에서 몇 사람들을 도울 수 있습니다.

    Greetz 앤디


  11. 11.여러분 모두에게 감사드립니다. 어떤 점에서 나는 마우스가 요소를 통해 여전히 있는지 검색을 시도 포기했다. 나는 그것이 가능하다고 알고 있지만, 달성하기 위해 너무 많은 코드를 필요로 할 수있다.

    여러분 모두에게 감사드립니다. 어떤 점에서 나는 마우스가 요소를 통해 여전히 있는지 검색을 시도 포기했다. 나는 그것이 가능하다고 알고 있지만, 달성하기 위해 너무 많은 코드를 필요로 할 수있다.

    그것은 나에게 조금 동안했다하지만 난 당신의 제안을 모두 가져다가 나를 위해 일하는 것이 뭔가를 내놓았다.

    여기에 간단한 (하지만 기능) 예는 다음과 같습니다

    $("[HoverHelp]").hover (
        function () {
            var HelpID = "#" + $(this).attr("HoverHelp");
            $(HelpID).css("top", $(this).position().top + 25);
            $(HelpID).css("left", $(this).position().left);
            $(HelpID).attr("fadeout", "false");
            $(HelpID).fadeIn();
        },
        function () {
            var HelpID = "#" + $(this).attr("HoverHelp");
            $(HelpID).attr("fadeout", "true");
            setTimeout(function() { if ($(HelpID).attr("fadeout") == "true") $(HelpID).fadeOut(); }, 100);
        }
    );
    

    그리고 이것이 내가 할 일은 일부 텍스트에이 작품을 만들기 위해 :

    <div id="tip_TextHelp" style="display: none;">This help text will show up on a mouseover, and fade away 100 milliseconds after a mouseout.</div>
    
    This is a <span class="Help" HoverHelp="tip_TextHelp">mouse over</span> effect.
    

    멋진 CSS의 많은과 함께, 이것은 매우 좋은 마우스 오버 도움말 툴팁을 할 수 있습니다. 그런데, 나는 때문에 당신이에서 마우스를 이동 플래시에 도움을 일으키는 체크 박스와 텍스트 사이의 작은 틈의로 마우스의 지연을 필요로했다. 그러나이 마법처럼 작동합니다. 또한 초점 / 흐림 이벤트에 대한 비슷한 일을했다.


  12. 12.나는 이것을 많이 사용 시간 제한을 볼 수 있지만 이벤트의 맥락에서,이 같은 좌표 볼 수 없다?

    나는 이것을 많이 사용 시간 제한을 볼 수 있지만 이벤트의 맥락에서,이 같은 좌표 볼 수 없다?

    function areXYInside(e){  
            var w=e.target.offsetWidth;
            var h=e.target.offsetHeight;
            var x=e.offsetX;
            var y=e.offsetY;
            return !(x<0 || x>=w || y<0 || y>=h);
    }
    

    상황에 따라 areXYInside (e)를 호출하기 전에 (이 == e.target) 확인해야 할 수도 있습니다.

    내가 DragLeave 이벤트가 자식 요소로 이동하여 트리거되지 않았 음을 확인하기 위해, dragLeave 핸들러 내에서이 방법을 사용하여 찾고 있어요 fyi-. 어떻게 든 당신이 부모 요소 안에 아직도 확인하지 않는 경우, 당신은 실수 만이 진정으로 부모를 떠날 때 의미있어 조치를 취할 수 있습니다.

    편집 : 이것은 좋은 생각이지만, 지속적으로 충분히 작동하지 않습니다. 아마도 몇 가지 작은 비틀기와.


  13. 13.하위 사업부가 특정 클래스가있는 경우, 당신은 jQuery를 함께 테스트 할 수 있습니다. 그런 다음 클래스를 적용하여 사용자가 마우스 이상과 특정 사업부 밖으로 밖으로, 당신은 마우스 위에 있는지 여부를 테스트 할 수 있습니다 경우에도 때 페이지 훨씬 적은 코드이 방법의 다른 요소 위에서 마우스. 나는 팝업에서 div의 사이에 공백이 있었기 때문에 내가 이것을 사용하고, 필자가 떨어져 움직일 때 나는 단지 팝업 닫습니다 싶었던 나는 팝업에서 공간을 통해 내 마우스를 이동했다하지 않을 경우, 팝업. 내가 (팝업 것은 끝났다) 컨텐츠 DIV에 마우스 오버 함수를 호출,하지만 난 마우스를 올리면 오버 때만 닫기 기능을 트리거 할 컨텐츠 사업부, 그리고 외부이었다 그래서 팝업!

    하위 사업부가 특정 클래스가있는 경우, 당신은 jQuery를 함께 테스트 할 수 있습니다. 그런 다음 클래스를 적용하여 사용자가 마우스 이상과 특정 사업부 밖으로 밖으로, 당신은 마우스 위에 있는지 여부를 테스트 할 수 있습니다 경우에도 때 페이지 훨씬 적은 코드이 방법의 다른 요소 위에서 마우스. 나는 팝업에서 div의 사이에 공백이 있었기 때문에 내가 이것을 사용하고, 필자가 떨어져 움직일 때 나는 단지 팝업 닫습니다 싶었던 나는 팝업에서 공간을 통해 내 마우스를 이동했다하지 않을 경우, 팝업. 내가 (팝업 것은 끝났다) 컨텐츠 DIV에 마우스 오버 함수를 호출,하지만 난 마우스를 올리면 오버 때만 닫기 기능을 트리거 할 컨텐츠 사업부, 그리고 외부이었다 그래서 팝업!

    
    $(".pop-up").mouseover(function(e)
        {
        $(this).addClass("over");
        });
    
    $(".pop-up").mouseout(function(e)
        {
        $(this).removeClass("over");
        });
    
    
    $("#mainContent").mouseover(function(e){
                if (!$(".expanded").hasClass("over")) {
                Drupal.dhtmlMenu.toggleMenu($(".expanded"));
            }
        });
    
    

  14. 14.이것은 그 일을하는 가장 쉬운 방법이 될 것입니다!

    이것은 그 일을하는 가장 쉬운 방법이 될 것입니다!

      function(oi) 
      {
       if(!$(oi).is(':hover')){$(oi).fadeOut(100);}
      }
    

  15. 15.여기 JQuery와에 의존하고 원시 DOM이 API를 일치 사용하지 않는 기술입니다. 그것은 IE9에 다시가는 지원 브라우저에 벤더 접두사를 사용합니다. 자세한 내용에 대한 caniuse.com에 matchesselector를 참조하십시오.

    여기 JQuery와에 의존하고 원시 DOM이 API를 일치 사용하지 않는 기술입니다. 그것은 IE9에 다시가는 지원 브라우저에 벤더 접두사를 사용합니다. 자세한 내용에 대한 caniuse.com에 matchesselector를 참조하십시오.

    먼저 matchesSelector 함수를 생성, 그래서 좋아한다 :

    var matchesSelector = (function(ElementPrototype) {
    var fn = ElementPrototype.matches ||
              ElementPrototype.webkitMatchesSelector ||
              ElementPrototype.mozMatchesSelector ||
              ElementPrototype.msMatchesSelector;
    
    return function(element, selector) {
      return fn.call(element, selector);
    };
    
    })(Element.prototype);
    

    그런 다음, 가져가 감지 :

    var mouseIsOver = matchesSelector(element, ':hover');
    

  16. 16.난 당신이해야 할 수도 있습니다 모든 세부 사항과 함께, 또 다른 질문이 대답했다 :

    난 당신이해야 할 수도 있습니다 모든 세부 사항과 함께, 또 다른 질문이 대답했다 :

    감지 요소 jQuery로 가리키면 경우 (기록시의 99 upvotes 있음)

    기본적으로, 당신이 뭔가를 같이 할 수 있습니다 :

    var ishovered = oi.is(":hover");
    

    OI는 하나의 엘리먼트를 포함하고있는 jQuery 객체 인 경우에만 작동합니다. 일치하는 여러 요소가있는 경우, 당신은 예를 들어, 각 요소에 적용해야합니다 :

    var hoveredItem = !!$('ol>li').filter(function() { return $(this).is(":hover"); });
                      // not .filter(':hover'), as we can't apply :hover on multiple elements
    

    이것은 jQuery를 1.7을 시작 테스트되었습니다.


  17. 17.다음은 마우스가 요소 내부인지 아닌지를 확인하는 데 도움이되는 기능입니다. 당신이해야 할 유일한 것은 당신이 살아있는 마우스 관련은 EventObject을 가질 수있는 함수를 호출하는 것입니다. 이 같은:

    다음은 마우스가 요소 내부인지 아닌지를 확인하는 데 도움이되는 기능입니다. 당신이해야 할 유일한 것은 당신이 살아있는 마우스 관련은 EventObject을 가질 수있는 함수를 호출하는 것입니다. 이 같은:

    $("body").mousemove(function(event){
         element_mouse_is_inside($("#mycontainer", event, true, {});
    });
    

    당신은 GitHub의 또는 게시물의 하단에 여기에 소스 코드를 볼 수 있습니다

    https://github.com/mostafatalebi/ElementsLocator/blob/master/elements_locator.jquery.js

    function element_mouse_is_inside  (elementToBeChecked, mouseEvent, with_margin, offset_object)
    {
        if(!with_margin)
        {
            with_margin = false;
        }
        if(typeof offset_object !== 'object')
        {
            offset_object = {};
        }
        var elm_offset = elementToBeChecked.offset();
        var element_width = elementToBeChecked.width();
        element_width += parseInt(elementToBeChecked.css("padding-left").replace("px", ""));
        element_width += parseInt(elementToBeChecked.css("padding-right").replace("px", ""));
        var element_height = elementToBeChecked.height();
        element_height += parseInt(elementToBeChecked.css("padding-top").replace("px", ""));
        element_height += parseInt(elementToBeChecked.css("padding-bottom").replace("px", ""));
        if( with_margin)
        {
            element_width += parseInt(elementToBeChecked.css("margin-left").replace("px", ""));
            element_width += parseInt(elementToBeChecked.css("margin-right").replace("px", ""));
            element_height += parseInt(elementToBeChecked.css("margin-top").replace("px", ""));
            element_height += parseInt(elementToBeChecked.css("margin-bottom").replace("px", ""));
        }
    
        elm_offset.rightBorder = elm_offset.left+element_width;
        elm_offset.bottomBorder = elm_offset.top+element_height;
    
        if(offset_object.hasOwnProperty("top"))
        {
            elm_offset.top += parseInt(offset_object.top);
        }
        if(offset_object.hasOwnProperty("left"))
        {
            elm_offset.left += parseInt(offset_object.left);
        }
        if(offset_object.hasOwnProperty("bottom"))
        {
            elm_offset.bottomBorder += parseInt(offset_object.bottom);
        }
        if(offset_object.hasOwnProperty("right"))
        {
            elm_offset.rightBorder += parseInt(offset_object.right);
        }
        var mouseX = mouseEvent.pageX;
        var mouseY = mouseEvent.pageY;
    
        if(  (mouseX > elm_offset.left && mouseX < elm_offset.rightBorder)
            && (mouseY > elm_offset.top && mouseY < elm_offset.bottomBorder) )
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    

  18. 18.'Happytime 해리'는 말에 확장, 타임 아웃 ID를 저장하기 위해 .DATA () JQuery와 기능을 사용하십시오. 이는 'mouseenter가'나중에 같은 요소에 트리거 될 때 당신이 당신의 툴팁이 사라질 때까지 방아쇠를 제거 할 수 있도록 아주 쉽게 시간 제한 ID를 검색 할 수 있도록합니다.

    'Happytime 해리'는 말에 확장, 타임 아웃 ID를 저장하기 위해 .DATA () JQuery와 기능을 사용하십시오. 이는 'mouseenter가'나중에 같은 요소에 트리거 될 때 당신이 당신의 툴팁이 사라질 때까지 방아쇠를 제거 할 수 있도록 아주 쉽게 시간 제한 ID를 검색 할 수 있도록합니다.


  19. 19.당신은 jQuery의 mouseenter와하는 MouseLeave 이벤트를 사용할 수 있습니다. 당신은 마우스가 원하는 영역에 진입 할 때 플래그를 설정하고이 지역을 떠날 때 플래그 설정을 해제 할 수 있습니다.

    당신은 jQuery의 mouseenter와하는 MouseLeave 이벤트를 사용할 수 있습니다. 당신은 마우스가 원하는 영역에 진입 할 때 플래그를 설정하고이 지역을 떠날 때 플래그 설정을 해제 할 수 있습니다.


  20. 20.나는이 주제에서 아이디어를 결합 / 보여주는 하위 메뉴를 숨기는 데 유용하다이, 함께했다 :

    나는이 주제에서 아이디어를 결합 / 보여주는 하위 메뉴를 숨기는 데 유용하다이, 함께했다 :

    $("#menu_item_a").mouseenter(function(){
       clearTimeout($(this).data('timeoutId'));
       $("#submenu_a").fadeIn("fast");
    }).mouseleave(function(){
       var menu_item = $(this);
    
       var timeoutId = setTimeout(function(){
          if($('#submenu_a').is(':hover'))
          {
            clearTimeout(menu_item.data('timeoutId'));
          }
          else
          {
            $("#submenu_a").fadeOut("fast");
          }
       }, 650);
    
        menu_item.data('timeoutId', timeoutId); 
    });
    
     $("#submenu_a").mouseleave(function(){
       $(this).fadeOut("fast");
     });
    

    나를 위해 작동하는 것 같다. 이 사람을 도움이되기를 바랍니다.

    편집 : 이제이 방법은 IE에서 제대로 작동하지 않습니다 실현.


  21. 21.나는 위의 제안 중 하나를 사용할 수 없었다. 왜 내 솔루션을 선호? 이 방법은 검사 마우스는 당신이 선택한 언제든지 요소 위에있는 경우. 멋진하지만, mouseenter 트리거가 마우스를 이동하는 경우에만 가져가 마우스 아래에없는 요소 이동 : Mouseenter합니다. : 가져가 꽤 달콤한하지만 ... IE

    나는 위의 제안 중 하나를 사용할 수 없었다. 왜 내 솔루션을 선호? 이 방법은 검사 마우스는 당신이 선택한 언제든지 요소 위에있는 경우. 멋진하지만, mouseenter 트리거가 마우스를 이동하는 경우에만 가져가 마우스 아래에없는 요소 이동 : Mouseenter합니다. : 가져가 꽤 달콤한하지만 ... IE

    나는이 작업을 수행 할 수 있도록 :

    없음 1. 매장 마우스 X, Y 위치 당신이 필요로 할 때이 이동 것마다, 없음 2. 체크하지 쿼리와 일치하는 요소 중 하나가 트리거 mouseenter 이벤트처럼 ... 물건을 할 동안 마우스 인 경우

    // define mouse x, y variables so they are traced all the time
    var mx = 0; //  mouse X position
    var my = 0; //  mouse Y position
    
    // update mouse x, y coordinates every time user moves the mouse
    $(document).mousemove(function(e){
        mx = e.pageX;
        my = e.pageY;
    });
    
    // check is mouse is over an element at any time You need (wrap it in function if You need to)
    $("#my_element").each(function(){
        boxX = $(this).offset().left;
        boxY = $(this).offset().top;
        boxW = $(this).innerWidth();
        boxH = $(this).innerHeight();
        if ((boxX <= mx) &&
            (boxX + 1000 >= mx) &&
            (boxY <= my) &&
            (boxY + boxH >= my))
        {
            // mouse is over it so you can for example trigger a mouseenter event
            $(this).trigger("mouseenter");
        }
    });
    

  22. 22.당신이 (적어도 IE 9까지) IE에서 다른 하나 개의 요소에서 마우스를 이동하는 경우 당신은 어떤 문제가 새로운 요소가있는 경우이 제대로 작동 점점이있을 수 있습니다 : 위의 인기 도움 아서 골드 스미스의 대답에 대한 그냥 참고 투명한 배경 (어떤이 기본적으로 할 것이다). 내 해결 방법은 새로운 요소에게 투명 배경 이미지를 제공했다.

    당신이 (적어도 IE 9까지) IE에서 다른 하나 개의 요소에서 마우스를 이동하는 경우 당신은 어떤 문제가 새로운 요소가있는 경우이 제대로 작동 점점이있을 수 있습니다 : 위의 인기 도움 아서 골드 스미스의 대답에 대한 그냥 참고 투명한 배경 (어떤이 기본적으로 할 것이다). 내 해결 방법은 새로운 요소에게 투명 배경 이미지를 제공했다.


  23. 23.

    $(document).hover(function(e) {
        alert(e.type === 'mouseenter' ? 'enter' : 'leave');
    });
    

  24. 24.당신이 사용할 수 있습니다 ( '보이는'); JQuery와의 그리고 $에 대한 ( '. 항목 : 호버') 또한 JQuery와에서 일하고있다.

    당신이 사용할 수 있습니다 ( '보이는'); JQuery와의 그리고 $에 대한 ( '. 항목 : 호버') 또한 JQuery와에서 일하고있다.

    이것은 HTML 코드 조각입니다 :

        <li class="item-109 deeper parent">
    <a class="root" href="/Comsopolis/index.php/matiers"><span>Matiers</span></a>
    <ul>
    <li class="item-110 noAff">
    <a class=" item sousMenu" href="/Comsopolis/index.php/matiers/tsdi">
    <span>Tsdi</span>
    </a>
    </li>
    <li class="item-111 noAff">
    <a class="item" href="/Comsopolis/index.php/matiers/reseaux">
    <span>Réseaux</span>
    </a>
    </li>
    </ul>
    </li>
    

    그리고 이것은 JS 코드는 다음과 같습니다

    $('.menutop > li').hover(function() {//,.menutop li ul
    
        $(this).find('ul').show('fast');
    
    },function() {
        if($(this).find('ul').is(':hover'))
        $(this).hide('fast');
    
    });
    
     $('.root + ul').mouseleave(function() {
        if($(this).is(':visible'))
        $(this).hide('fast');
    
    });
    

    이 난에 대해 말하고 있었는지 :)

  25. from https://stackoverflow.com/questions/1273566/how-do-i-check-if-the-mouse-is-over-an-element-in-jquery by cc-by-sa and MIT license