我正在使用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)
});
请帮忙
答案 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)
您是在其他浏览器或其他系统上检查过的吗?这可能是您的浏览器设置在同一窗口中的新选项卡中打开弹出窗口(我假设发生了什么,并且弹出窗口不会替换整个页面)。