Подобные ситуации часто встречаются при создании любых приложений с использованием JavaScript. Как мы уже видели, высоту и ширину окна желательно хранить в коде, но решение с onclick() имеет много недостатков. Тем не менее эти данные можно встроить в атрибуты элемента. Для этого ссылка должна строиться следующим образом:
html5_popups_with_custom_data/popup.html
Holiday pay
Теперь остается лишь изменить написанное нами событие click, чтобы оно получало значения из пользовательских атрибутов данных ссылки и передавало их методу window.open().
html5_popups_with_custom_data/popup.html
$("a.popup").click(function(event){
event.preventDefault();
var link = this;
var href = link.getAttribute("href");
var height = link.getAttribute("data-height");
var width = link.getAttribute("data-width");
window.open (href,"popup",
"height=" + height +",width=" + width + "");
});
jQuery используется исключительно для обработки события click(). Элемент, на котором был сделан щелчок, представлен в функции-обработчике ключевым словом this. Используя getAttribute(), мы получаем все необходимые атрибуты из элементов для создания всплывающего окна.
Вот и все! Ссылка открывается в новом окне.