1

동적으로 생성 된 SVG 요소 (예 : raphael.js에서 생성 한 요소)에서 이벤트가 트리거되면 IE7에서 "오류 : 실패"가 발생하는 좋은 방법이 있습니까?jQuery 이벤트가 Internet Explorer의 SVG 요소에서 전달됨

jQuery가 라이브 핸들러를 통해 SVG 요소가 내가 지정한 라이브 선택기와 일치하는지 확인하고 볼 때 "오류 : 실패"가 발생한다고 생각합니다. 지금은 수동으로 lraphael이 만든 SVG에서 모든 이벤트 (mouseenter, mouseleave, click 등)에 대해

e.stopPropagation(); 

을 호출하십시오.

+1

IE 7은 SVG를 지원? Raphael.js는 IE를 올바르게 불러 오면 VML을 사용합니다. – jwueller

+0

Ahh. 확인 - 다음 VML 드로잉에 의해 트리거 된 이벤트에 문제가 있습니다 ... –

+0

여기에 같은 문제 : ( – stej

답변

1

이 jQuery 문제를 방지하는 좋은 방법을 찾을 수 없습니다.

그래서 내가 할 수 있었던 일은 Raphael.js의 이벤트를 캡처하고 e.stopPropagation()을 호출하는 것이 었습니다. 그런 다음 IE의 fireEvent를 사용하여 VML/SVG 요소의 부모 요소에서 이벤트를 다시 시작합니다. 해킹 조금,하지만 지금은 작동합니다.

0

"change"이벤트에 대한 라이브 바인딩에 대해 jQuery의 "live"메서드 대신 Brandon Aaron의 "livequery"플러그인을 사용하면이 문제가 해결된다는 것을 알았습니다.

은 참조 :

hakoniemi

jQuery Bug

+0

아, 멋지다, 감사합니다! –

관련 문제