(Chrome/FF에서와 같이) 어떤 종류의 요소 검사기를 만들려고합니다. 다음과 같이mouseover 이벤트 핸들러 내에서 click 이벤트 핸들러를 만드는 방법은 무엇입니까?
흐름은 다음과 같습니다
- 당신은 버튼을 클릭 '검사 시작'.
- 필요한 요소 위에 마우스를 올려 놓습니다.
- 해당 요소를 클릭하십시오.
- 콘솔에 해당 요소가 표시되어야합니다. 이벤트 핸들러가 연결되어 클릭 - 나는 어떤 요소 위에 마우스를 올려마다 :가
startInspecting = function(){ $('section *').on('mouseover.INSPECTOR', function(e){ $('.hovered-element').removeClass('hovered-element'); $(e.target).addClass('hovered-element'); $(this).on('click.INSPECTOR', function(e){ $('section *').off('mouseover.INSPECTOR'); $('section *').off('click.INSPECTOR'); $('.hovered-element').removeClass("hovered-element"); console.log(e.target); }); }); };
문제는입니다 : 여기
p
요소 위로 5 번 가져간 다음 클릭하면 1 대신 5
console.log
이 표시됩니다.
나는 각 요소에 한 번만 공중 선회 할 수 있다는,
mouseenter/mouseleave
를 사용하여 구현하려고했으나 문제를 직면 -
another JSFiddle example
를 그래서 나는 그 상관없이 내가 요소 위에 마우스를 몇 번이나 내 코드를 향상시킬 수 방법 , 그것은 단지 하나의 클릭 핸들러를 가질 것인가?
미리 감사드립니다. 도움을 주시면 감사하겠습니다.
'hover' 함수 밖에서'click' 핸들러를 움직입니다. –