Nhấn phím để chọn thời điểm trên video

Xin mọi người hãy giúp tôi. Tôi có một phần tử video HTML5. Video là một video tình huống và có thời lượng 5 phút.

Giả sử bây giờ tôi đang xem video và phát hiện tình huống xảy ra ở giây thứ 10 đến giây thứ 15 , khi đó tôi nhấn phím cách trên bàn phím ( còn video vẫn chạy bình thường) . Sau khi nhấn phím thì sẽ hiện thông báo đúng, còn không sẽ hiện bạn đã sai.
Mong mọi người giúp tôi.xin cảm ơn mọi người.

đọc xong mình không hiểu là bạn muốn làm gì luôn á… :disappointed_relieved:

4 Likes

Bình thường xem video nhấn phím backspace là nó dừng video. Bây giờ bạn ấy muốn nhấn phím backspace mà video vẫn chạy kèm theo đó là thông báo đúng sai căn cứ vào giây thứ bao nhiêu đó trong video. Em nghĩ chắc bạn ấy muốn làm Web thi thố gì đấy :sweat_smile:

6 Likes

Mình muốn hỏi code bằng javascript hoặc jquery?

Đọc xong thì mình hiểu bạn muốn cái gì. Nhờ các bình luận của @htwap@Music_of_the_God mình vẫn khống biết chính xác bạn muốn làm gì.
Theo @Music_of_the_God mo tả, giống như bạn muốn nhảy Audition bằng video vậy.

Muốn giúp thì đưa ra mô tả và ngữ cảnh để người khác biết chính xác bạn muốn gì.

4 Likes

mình tìm được đoạn code trên mạng, có update lại chút để lấy ra thời gian hiện tại của video và cách để video vẫn phát bình thường, không bị paused khi nhấn phím cách, bạn bổ sung thêm để đúng với mục đích của bạn nhé.
cơ mà đang có chút thắc mắc là tại sao phải listen ở capture phase của event thì mới ngăn được việc pause video, còn nếu listen ở bubble phase thì lại không ngăn được. (mình test bằng Chrome trên Ubuntu)

<!DOCTYPE html> 
<html> 
<body> 
<video id="myVideo" width="320" height="176" src="https://www.w3schools.com/tags/mov_bbb.mp4" controls></video>

<script>
var vid = document.getElementById("myVideo");
vid.addEventListener('keydown', function(e) {
  console.log(vid.currentTime);
  if (e.keyCode == 32) {
    e.preventDefault();
  }
}, true); // here
</script> 
</body> 
</html>
6 Likes

Cảm ơn bạn rất nhiều

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?