2010-02-22 3 views
2

Я использую a popup plugin, чтобы открыть всплывающее окно.Проблема с jQuery popup window

Создание таблицы html с использованием Javascript. В этом есть столбец Employee Id, имеющий гиперссылку. Я открываю всплывающее окно при нажатии гиперссылки, чтобы отображать детали сотрудника.

Динамический сгенерированный код:

<a id='" + arrElement[0].EMP_DATA[i].EMP_ID +"' 
    href='employee.do?requestSource=EMP_PROFILE&empId=" + 
     arrElement[0].EMP_DATA[i].EMP_ID+"' 
    class='empName' > 
    <B>" +arrElement[0].EMP_DATA[i].EMP_NAME+"</B> 
</a> 

Выпуск: Всплывающее открыт в том же окне. Эта проблема только в том случае, когда код генерируется динамически с помощью Java Script

Ниже мой код, чтобы открыть всплывающее меню, вызывающий код сценария после завершения сотрудника таблицы:

$('.empName').popupWindow({ 
    centerScreen: 1, 
    scrollbars: 1, 
    height: ($(window).height()-100), 
    width: ($(window).width()-100) 
}); 

Пожалуйста, помогите

ответ

1

Проблепия первой попытки: В библиотеке возможно не было загрузки. Убедитесь, что файл javascript, который предоставляет popupWindow, присутствует и правильно ссылается. Кроме того, убедитесь, что загружается сам jquery, так как эта библиотека зависит от нее.

Try что-то вроде

alert($.fn.popupWindow); 

после загрузки, чтобы убедиться, что JQuery и библиотеки popupWindow загружаются. Если это говорит что-то о ссылке на объект или объект, проблема в другом. В противном случае jquery или библиотека не загружаются.

второй Try:

jquery doesn't see new elements См, тесно связанный с этим вопрос. jQuery не распознает созданные элементы «немедленно», вам нужно дождаться, когда изменение произойдет через события. Похоже, что вы захотите использовать что-то вроде

$('.empName').change(function(){ 
    $('.empName').popupWindow({ ... }); 
}); 
+0

Jesse Я использую тот же плагин, чтобы открыть другие мои всплывающие окна. – Vicky

+0

Я также подтверждаю, что библиотека popupWindow загружена правильно – Vicky

+0

А еще одна идея: вы вызываете всплывающее окно в том же «событии», что и там, где вы пишете таблицу? Попробуйте добавить будущее событие, например. используя window.setTimeout (10, setupPopups); Это может быть связано с тем, что элементы DOM не сразу доступны после того, как они написаны ... Слишком долго, когда я перепутал это, чтобы помнить. –

0

ли вам проверить его в другом браузере или в другой системе? Вероятно, это настройка браузера для открытия всплывающих окон на новой вкладке в том же окне (я предполагаю, что это то, что происходит, и что всплывающее окно не заменяет всю вашу страницу).

+0

Я уже тестировал это в другом браузере, такая же проблема возникает. – Vicky