2016-05-21 4 views
1

Я работаю над SimpleWebRTC. Когда новая группа присоединяется к комнате, добавляется новый элемент видео. Теперь мне нужно обработать щелчок по любому элементу видео. Поэтому я пишу код нижеjQuery click() для элемента видео

$('video').click(function(e) { 
     console.log('clicked'); 

     e.preventDefault() 
}); 

Очевидно, что блок находился в готовом документе jQuery. Но я ничего не вижу на консоли. Странно, когда я вставляю код выше в консоли браузера, это работает как ожидалось.

Мне нужно ваше руководство для решения проблемы.

Спасибо.

+0

Вы пытались запустить свой код внутри функции webrtcs innit? 'webrtc.on ('readyToCall', function() {...}' – Aer0

+1

'$ (selector) .click()' добавит обработчик события click только к элементам, уже находящимся на странице. ('$ (document) .on ('click', 'video', func)') Есть уже много обманов, позвольте мне найти [один] (http://stackoverflow.com/questions/8110934/direct- vs-delegated-jquery-on) – Kaiido

ответ

1

Прежде всего: определите класс для видеотега. Например: .chat так:

<video class="chat" /> 

и использовать этот код:

$('video.chat').on('click', function (e) { 
    console.log(this); 
}); 

или:

$(document).on('click', 'video.chat', function (e) { 
    console.log(this); 
}); 

Я надеюсь, что это помогает.

+0

Последний работал. Я все еще путаюсь, почему ** $ ('video.chat'). on ('click', function (e) { ** не работает, но ** $ (document) .on ('click', 'video.chat', function (e) {**. – IFightCode

0

Try дать идентификатор к видеоэлементу так что ваш сценарий должен быть

$('#video').click(function(e) { 
     console.log('clicked'); 

     e.preventDefault() 
}); 

Так он должен показать текст «щелкнул» на консоли, но я не уверен, что буду больше

+0

Нет, не сработал – IFightCode

Смежные вопросы