jquery弹出窗口问题

时间:2010-02-22 11:02:11

标签: javascript jquery popup

我正在使用a popup plugin打开弹出窗口。

使用Javascript生成html表。其中列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脚本

动态生成代码时才会出现此问题

以下是我打开弹出窗口的代码,在完成employee表后调用脚本代码:

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

请帮忙

2 个答案:

答案 0 :(得分:1)

首先尝试:库可能根本没有加载。确保提供popupWindow的javascript文件存在且正确引用。此外,请确保正在加载jquery本身,因为此库依赖于它。

尝试类似

的内容
alert($.fn.popupWindow);
加载后

以确保加载jQuery和popupWindow库。如果这说明了函数引用或对象,那么问题就是其他问题。否则,没有加载jquery或库。

第二次尝试:

请参阅jquery doesn't see new elements这个密切相关的问题。 jQuery无法“立即”识别创建的元素,您必须等待通过事件进行更改。您似乎想要使用类似

的内容
$('.empName').change(function(){
  $('.empName').popupWindow({ ... });
});

答案 1 :(得分:0)

您是在其他浏览器或其他系统上检查过的吗?这可能是您的浏览器设置在同一窗口中的新选项卡中打开弹出窗口(我假设发生了什么,并且弹出窗口不会替换整个页面)。