从加厚框打开上传媒体对话框

时间:2016-04-01 作者:Hady Shaltout

我正在使用WordPress中内置的Thickbox(lightbox)为用户显示一些控件,其中一些控件使用javascript打开对话框,比如在Thickbox之外已经可以正常工作的上传媒体。

我知道Thickbox创建了一个具有唯一ID[TB\\u窗口]的新div,所以我只为Thickbox中的所有脚本创建了一个独立的js文件,但它仍然不工作,这可能是因为Thickbox从隐藏的容器div中获取所有控件并将其放在弹出窗口中,但我无法处理这种情况。

有什么想法吗?谢谢

1 个回复
最合适的回答,由SO网友:Hady Shaltout 整理而成

最后,我通过替换事件处理程序找到了解决方案!

旧方案(错误)

$(\'#TB_window\').on(\'click\', \'.upload_media a.btn_media_upload\', function (e) { //Code } );
新建(工作)

$(\'body\').on(\'click\', \'#TB_window .upload_media a.btn_media_upload\', function (e) { // Code });

相关推荐

IFrame Thickbox中的自定义管理员屏幕出错

我有一个插件,可以在iframe中添加一个新的管理屏幕。我在插件中创建了一个PHP文件,并在其中添加了一个带有Thickbox类的链接。一切正常,但当WP\\u DEBUG设置为true时,会产生PHP错误。看看WordPress的源代码,如果我从外部输入一个PHP,就无法避免这个错误/wp-admin/ 直接在iframe中。注意:未定义的偏移量:1英寸/wp包括/变量。php在线28之所以会出现这种情况,是因为WordPress在web地址上运行regex来提取文件名以设置$pagenow变量,但它假