Daftar dan Belajar Sekarang!

Event.taget untuk video player

foto dembilesmana
10 Kontribusi 0 Coto
8 bulan yang lalu
Kode dibawah di maksudkan ketika user klik pada class yang di miliki parent .video-player maka tombol spasi dapat digunakan untuk play/pause video. tapi ketika user meng-klik class diluar parent .video-player maka tombol spasi tidak dapat digunakan untuk play/pause video melainkan menjalankan fungsi default ya itu scroll ke bawah. masalahnya : ketika user klik video(play) dan melakukan klik lagi diluar video spacebar masih berfungsi untuk play/pause video, seharusnya tidak / scroll ke bawah. mohon bntunaya untuk memperbaiki kode dibawah.
$(document).click(function(e){

	if ($(e.target).parents().is('.video-player')) {

		$(this).keypress(function(e) {

			if (e.which == 32) {

				$('.video-player > div > .play-btn i').toggleClass('d-none');

				e.preventDefault();

				if ($('video').get(0).paused) {
					$('.video-player > div > .controls .play-btn i').removeClass('fa-play');
					$('.video-player > div > .controls .play-btn i').addClass('fa-pause');
					$('video').get(0).play();
				} else {
					$('.video-player > div > .controls .play-btn i').removeClass('fa-pause');
					$('.video-player > div > .controls .play-btn i').addClass('fa-play');
					$('video').get(0).pause();
				}
			}
		});
	} 
})
  • masalahnya sekarang apa? coba dijelaskan di atas, console.log errornya apa - hilmanski
  • ga ada errornya mas, masalahnya kalo saya klik video (play) trs saya klik diluar video spacebar masih bisa play/pause video. saharusnya gabisa. ini codenya mas https://codepen.io/dembilesmana/pen/EqQLeJ - dembilesmana
  • kalau dibalik aja gimana? if keypress enter dulu, baru dalamnya dicek kalo parenntya video player baru jalankan fungsi yang dimau - hilmanski
Tampikan semua komentar

Jawaban
foto dembilesmana
10 Kontribusi 0 Coto
8 bulan yang lalu
maksudnya dibalik gimana mas? saya belum mudeng.

foto momoji
101 Kontribusi 41 Coto
8 bulan yang lalu
if ($(e.target).parents().is('.video-player')) {

		$(this).keypress(function(e) {

			if (e.which == 32) {
Dibalik alurnya
$(this).keypress(function(e) {

       if (e.which == 32) {

              if($(e.target).parents().is('.video-player')) {
  • yap, ini yang sy maksud bisa dicoba - hilmanski
  • seharusnya tidak bekerja karena kode tersebut terlihat mirip dengan kode yg saya lampirkan di codepen - dembilesmana


Login untuk diksusi di forum sekolah koding