【问题标题】:Issue with jquery popup windowjquery弹出窗口的问题
【发布时间】:2011-01-19 14:30:48
【问题描述】:

我正在使用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 脚本动态生成代码时才会出现此问题

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

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

请帮忙

【问题讨论】:

    标签: javascript jquery popup


    【解决方案1】:

    第一次尝试:库可能根本没有加载。确保提供 popupWindow 的 javascript 文件存在并且被正确引用。另外,请确保 jquery 本身正在加载,因为这个库依赖于它。

    试试类似的东西

    alert($.fn.popupWindow);
    

    加载后确保 jQuery 和 popupWindow 库正在加载。如果这说明了函数引用或对象,那么问题就出在其他地方。否则,不会加载 jquery 或库。

    第二次尝试:

    请参阅jquery doesn't see new elements,密切相关的问题。 jQuery 不能“立即”识别创建的元素,您必须等待更改通过事件发生。看来您会想要使用类似

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

    【讨论】:

    • 杰西我正在使用相同的插件来打开我的其他弹出窗口,它工作正常。
    • 我也确认 popupWindow 库加载正确
    • 啊,另一个想法,您是否在与您编写表格的位置相同的“事件”中调用弹出窗口?尝试放入未来的事件,例如使用 window.setTimeout(10, setupPopups);这可能是因为 DOM 元素在编写后无法立即访问......自从我弄乱它以来已经太久无法记住了。
    • 啊,看stackoverflow.com/questions/815074/…,这可能是相关的。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多