2012-06-21 2 views
1

아래의 webapp에서 두 번 이상 클릭 이벤트가 발생하는 원인을 파악하는 데 문제가 있습니다. URL을 방문하여 [Ground - 4] 레벨을 클릭 한 다음 유닛을 클릭하십시오. 단위 세부 [가격, 이미지 등]를 나타납니다jQuery 클릭 이벤트가 두 번 이상 발생 함

http://plaza.foxqa.com.au/touch/index.html

. 이 페이지의 이미지에는 기본적으로 이미지를 확대하는 클릭 이벤트가 첨부되어 있습니다. 이 이벤트는 스태킹을 계속 유지합니다. 처음 유닛을 클릭하면 잘 작동합니다.

그런 다음 두 번째 장치는 두 번, 세 번째 장치는 세 번 반복됩니다. 확대 된보기가 닫히지 만 여전히 작동하지 않으면 클릭 이벤트의 바인딩을 해제하려고했습니다.

도움을 주시면 감사하겠습니다.

수정 : Google 크롬에서 테스트 해주세요.

편집 2 : 문제를 빨리 파악하는 데 도움이되는 단계입니다.

  1. 콘솔에서 components_draft.js를 엽니 다.
  2. 는 녹색 컬러 단위 [또는 로트]에 건물에 수준에 줄
  3. 클릭 687
  4. 클릭 중단 점을 추가합니다.
  5. 단위 세부 정보가 표시되면 단위 평면 이미지를 클릭하십시오.
  6. 확대됩니다.
  7. 이미지의 아무 곳이나 클릭하면 최소화됩니다.
  8. 닫기 아이콘을 클릭하여 4 단계로 돌아갑니다.
  9. 반복 5,6,7.
  10. 이제 enalrged 이미지를 클릭하면 콘솔의 기능을 단계별로 실행하여 한 번의 클릭으로 두 번 반복되는 클릭 이벤트를 볼 수 있습니다.

나는이 모든 것을 잘 알고 있지만 고통을 느끼기는하지만 시간이 좀 걸릴 것입니다.

+2

문제가 해결되면 나중에 문제가 유익하지 않거나 유익 해지지 않도록 관련 코드를 여기에 게시하십시오 ([SSCCE] (http://sscce.org/)를 기억하십시오). 또한 가능하다면 도움이 될 것이라고 생각되면 [JS Fiddle] (http://jsfiddle.net/), [JS Bin] (http://jsbin.com)과 같은 사이트에서 라이브 데모 게시를 고려해보십시오. /) 또는 유사한 코드를 사용하여 실행중인 코드를 확인하고 실행/적용을 통해 코드를 추적 할 수 있습니다. –

+0

@David Thomas, 코드는 꽤 길며, 사람이 무엇을하는지 보지 않으면 이해가되지 않습니다. 나는 여기에 붙여 넣거나 데모를 제공하는 데 아무런 문제가 없지만 그냥 작동하지 않을 것이다.그것의 더 시각적 인 것. – Sparda

+1

코드가 꽤 길기 때문에 관련 부분을 지정해야합니다. 이 질문에 답하려고하는 동료 엔지니어는 이벤트를 찾는 데 시간을 낭비해서는 안됩니다. 또한 프로젝트를 완료하거나 도메인을 종료 한 후에도 해당 답변이 유지되어야합니다. – SadullahCeran

답변

0

버그를 발견했습니다. 사람이 jQuery를 클릭 이벤트가 시간이 지남에 구축되는이 상황에 걸쳐 온다면, 가장 가능성이 범인 인

jQuery.live() 

그것의 다른 클릭 이벤트 아래에 중첩 할 필요가 없습니다.

2

신청서를 다시 확인하십시오.

방화 광 콘솔에서 볼 수있는 몇 가지 오류 (JavaScript 코딩 오류)가 있습니다.

+0

내 실수. 그것은 크로스 도메인 Ajax 요청을하고 있으며 크롬에서만 작동합니다. 나는 그것을 언급 했어야했다. 어떤 이유인지 그것은 Firefox 이벤트에서 작동하지 않습니다. 'Access-Control-Allow-Origin'헤더가 서버에 설정되어 있습니다. 하지만 그건 걱정거리가 아닙니다. 대상은 Chrome입니다. – Sparda

관련 문제