내 HTML에서 video 요소를 다음과 같이 사용하고 있습니다. iPad의 HTML5 동영상 요소가 onclick을 실행하지 않습니까?
<div id="container" style="background:black; overflow:hidden;width:320px;height:240px">
<video style="background:black;display:block" id="vdo" height="240px" width="320px" src="http://mydomain/vid.mp4"></video></div>
자바 스크립트에서이 작업을 수행하고 있습니다.
var video=document.getElementById('vdo');
var container=document.getElementById('container');
video.addEventListener('click', function(e) {
e.preventDefault();
console.log("clicked");
}, false);
container.addEventListener('click', function(e) {
e.preventDefault();
console.log("clicked");
}, false);
데스크톱 사파리/크롬에서 모든 것이 정상적으로 작동합니다. 나는 콘솔에서 2 개의 "클릭 된"것을 볼 수 있습니다. 하지만 ipad에는 아무것도 없습니다. 먼저 iOS 버전 3.2를 사용해 보았습니다. 그런 다음 아무런 성공없이 4.2.1 최신 버전으로 업데이트했습니다.
비슷한 질문을 찾았습니다. HTML5 Video Element on iPad doesn't fire onclick or touchstart events? 비디오 태그에 컨트롤을 사용하지 말 것을 제안했지만 사용하지 않았습니다.
이것은 나를 위해 일했다. iPad에서 video.play()를 실행할 수 없었습니다. click vs touchstart 및 300ms 지연과 관련된 문제 여야합니다. 답변 해주셔서 감사합니다. –
iOS의 이벤트에는 많은 '문제'가 있습니다. 그들 중 대부분은 당신이 그들 중 하나를 호출하기 전에 사용자 행동이 수행되어야합니다. 따라서 내장 컨트롤러를 사용하여 비디오를 시작하면 play()를 호출하는 등의 작업이 가능합니다. – kimpettersen
그래도 '클릭'이벤트는 동영상 재생을 시작하지 않지만 '터치 시작'을 사용하면 재생할 수 있습니다. –