Ваш тег <script />
находится над элементами на странице.Когда обработчики событий созданы, элементы не существуют на странице.Это можно исправить, поместив их в обработчик документа jQuery (который является alais для события DOMContentLoaded
:
Базовый синтаксис:
$(document).ready(function () {
$('#video-player-1').click(function(e) {
var bookId = $(e.relatedTarget).data('book-id');
var x = new String(bookId);
player.loadVideoById(x);
alert("HEELO");
});
$( "#video-player-2" ).click(function() {
alert( "Handler for .click() called." );
});
});
Синтаксис короткой руки:
$(function () {
$('#video-player-1').click(function(e) {
var bookId = $(e.relatedTarget).data('book-id');
var x = new String(bookId);
player.loadVideoById(x);
alert("HEELO");
});
$( "#video-player-2" ).click(function() {
alert( "Handler for .click() called." );
});
});
Альтернатива:
AsВ качестве альтернативы вы можете добавить эти обработчики в новый тег <script />
, расположенный непосредственно перед закрывающим тегом </body>
. С помощью этого метода вы можете исключить вызов к $(document).ready
и использовать существующий код, так как элементы уже заполнены.в DOM к моменту создания обработчиков.
Обновленный пример рабочей скрипки: jsfiddle.net