ProgramingTip

iOS에서 작동하지 않는 jQuery 클릭 이벤트

bestdevel 2020. 11. 12. 19:27
반응형

iOS에서 작동하지 않는 jQuery 클릭 이벤트


두 번째 업데이트 : 내 함수 (resetFigures) 중 하나가 이벤트 처리기를 방해하는 것 같아서 바인딩 함수의 끝으로 이동하면 정렬되었습니다.

업데이트 : 몇 가지 기본 테스트 후 클릭 이벤트가 등록되고 사실을 깨달았는데, 탭했을 때 상자가 뒤집 히지 않는다는 것입니다.

내 사이트의 기본 미적 기능이 Chrome 및 Firefox에서 작동하지만 iOS에서 제대로 작동하지 않습니다 (iOS 6.1이 iPhone 4 및 iOS 4.3.5의 강력한 iPad에서 테스트).

여기에서 사이트와 펼쳐보기 (main.js)를 볼 수 있습니다. http://bos.rggwebdesigns.com/

iOS가 실제로 jQuery 클릭 이벤트를 제대로 처리하지 않는다는 것을 수정 사항을 찾기 위해 고군분투하고 있습니다. Stack Overflow에서 몇 가지 많은 것들이 라이브 () 메소드를 언급했지만 다음과 같이 구현하는 것 ( onclick=""클릭 가능한 요소에 추가 하는 것 포함)이 작동하지 않는 것입니다.

$('.card').live('click touchstart', function() {
        var figure = $(this).children('.back');
        var button = figure.find('.button');
        var column = $(this).parents().eq(1);
        $('.column').removeAttr('style');
        column.css('z-index', 2000);
        resetFigures();
        if(flipCard(this)){
            swoosh.pause();
            swoosh.currentTime = 0;
            swoosh.play();
        }
    });

또한이 흥미로운 해결 방법 프로젝트를 발견했습니다 : http://aanandprasad.com/articles/jquery-tappable/ . 그러나 나는 운이 없었습니다.

$('.card').tappable(function() {
        var figure = $(this).children('.back');
        var button = figure.find('.button');
        var column = $(this).parents().eq(1);
        $('.column').removeAttr('style');
        column.css('z-index', 2000);
        resetFigures();
        if(flipCard(this)){
            swoosh.pause();
            swoosh.currentTime = 0;
            swoosh.play();
        }
    });

또한 내가 오도 된 경우 저를 수정하십시오. 그러나이 사이트에 따르면 3D 변환은 적절한 접두사가있는 iOS에서 지원됩니다 : http://caniuse.com/transforms3d


iOS가 DOM로드 후 추가 된 요소에 바인딩 된 클릭 / 터치 이벤트를 등록하지 않는 문제가 있습니다.

PPK에는 다음과 같은 조언이 있습니다. http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html

나는 이것이 쉬운 픽스임을 찾았습니다. 간단하게 CSS에 추가하십시오.

cursor: pointer;

최근 클라이언트 용 웹 앱에서 작업 할 때 앵커가 아닌 요소에 추가 된 모든 클릭 이벤트가 iPad 또는 iPhone에서 작동하지 않는 것을 발견했습니다. 모든 데스크톱 및 기타 모바일 장치가 제대로 작동했지만 Apple 제품이 가장 인기있는 모바일 장치 문제를 해결하는 것이 중요했습니다.

jQuery에서 같이 클릭 할 할당 된 앵커가 아닌 요소에는 onClick 속성이 있어야합니다 (아래와 비어 있음).

onClick=""

또는

css 요소에는 다음 문장이 있어야합니다.

cursor:pointer

이상하지만 다시 작동하게 광고 그게 필요했습니다!
출처 : http://www.mitch-solutions.com/blog/17-ipad-jquery-live-click-events-not-working


탭 이벤트를 바인딩해야합니다. 클릭은 모바일 사파리 또는 UIWbview에 존재하지 않습니다. 링크를 터치 할 때 300ms 지연을 방지 하기 위해이 polyfill 을 사용할 수도 있습니다 .

참고 URL : https://stackoverflow.com/questions/14795944/jquery-click-events-not-working-in-ios

반응형