2013-07-16 8 views
0

내 페이지가로드 될 때 '#currentitem a' 메뉴 항목에 mouseenter를 트리거하고 싶습니다. 내가 함께 할 것을 :페이지로드시 mouseenter가 트리거되고 다른 mouseenter 이벤트가 발생하지 않는 경우

$(document).ready(function(){ 
    $("#currentitem a").trigger('mouseenter'); 
}); 

내 문제는 내가 (수동) 다른 항목은 (위의 코드와 함께) 트리거를 mouseenter 경우 항목이하는 MouseLeave하지 않습니다. 메뉴 항목이 겹칩니다.

나는 초보자입니다. 가능하다면 다음을 달성하고 싶습니다.

  1. mouseenter '#currentitem a' on pageload.
  2. mouseleave '#currentitem a' 다른 항목에 마우스 포인트가 트리거 된 경우.
  3. 해당 메뉴 항목이 mouseleave를 트리거하면 '#currentitem a'이 나오므로 아이템이 항상 트리거됩니다.

이 메뉴는 일반 CSS가 아닌 더 복잡한 jQuery 설정의 일부이므로이 방법이 가장 좋습니다. 어떤 도움이라도 대단히 감사 할 것입니다.

다음

http://jsfiddle.net/qFS84/

+0

이것은 논리에 결함이있는 경우 발생합니다. 마우스가 요소를 떠날 때 일어날 일이 예상되지만, 마우스가 그 요소를 떠나지 않을 가능성이 있습니다. 그리고 다른 모든 메뉴를 닫는 것과 같은 일을해야합니다.마우스가 새 메뉴 항목을 입력 할 때 또는 다른 메뉴 항목을 입력 할 때 의도 한대로 모든 항목이 닫혔는지 확인하십시오. – adeneo

답변

0

가 주시기 바랍니다 문제가 해결되지 않으면 그

$(function(){ 
    $('#currentitem a').trigger('mouseenter'); 
    $('.currentitem a').on('mouseenter', function(e) { 
     if ($('.currentitem a:focus').length > 0) { 
      $('.currentitem a:focus').blur(); 
     } 
    }); 
}); 

작동합니다 시도하는 무언가이다 :

은 지금 내가 뭘하려고 오전 보여주기 위해 JSFiddle을 만들었습니다 나도 알아. 그리고 나는 그것을 tweek 할 것이다.

편집 :

편집 찾고 후, 내가 발견했을 수도 문제

당신이 jQuery로 요소를 대상으로, id 속성은 당신의 DOM에 한 번 사용되어야한다. 이것이 당신의 html에 해당된다고 가정 할 때, 다음으로 짐작할 수있는 것은, 마우스가 다른 항목 (예 : 목록의 다음 li)을 입력하면들을 수 없다는 것입니다. 이것이 사실이라면 다른 li 요소에서 mouseenter 이벤트를 수신하기 만하면됩니다.

마지막으로 이벤트를 듣고 있지만 작동하지 않는 경우, 다른 이벤트가 있습니다. 이벤트는 mouseover

미드 편집 업데이트 :

당신은 메뉴가 아무것도 누르지 말고 바로 "우리의 프로젝트"를 통해 때 마우스를 숨기고하지에 대해 이야기하는 경우, 즉 마우스가 "입력하지"결코 때문에 그 자체를 숨길되지 않도록 요소는,이 주위에 방법은 간단하다 :

$("#mydroplinemenu > ul > li[id!='currentitem'] > a").one('mouseenter', function(e) { 
    $('#currentitem a').trigger('mouseleave'); 
}); 

그건 내 이벤트 대상 #currentitem되지 않고 각 링크에 대해 한 번 트리거에만 링크 요소에 대한 선택. 이것은 당신이 찾고있는 것일 수도 있습니다! 나는 당신의 jsfiddle에서 그것을 테스트했고 실제로 작동했습니다.

+0

도움을 많이 감사합니다 ..하지만 불행히도 그것은 여전히 ​​한 것과 같은 역할을합니다. 나는 jquery를 처음 사용하므로 따로 따로 선택할 수 없습니다. 어떤 조정이라도 대단히 감사 할 것입니다. http://jsfiddle.net/qFS84/ – xsample

+0

죄송합니다 (포스트 편집) – xsample

+0

지금 뭘하려고 무엇 메신저 보여주기 위해 JSFiddle을 만들었습니다. 먼저 시도해 봐야 할 부분은 중간 편집 업데이트 이후입니다. – xsample