我在一个自定义的Wordpress (v.4.2.2)插件中使用JQWidgets 3.8.0,也就是jqxDataTable特性。在我的插件中,我有以下功能:
public static function cp_libstaff_load_javascript(){
?>
<script>
jQuery(document).ready(function () {
jQuery("#emu_libstaff_staff_table").jqxDataTable(
{
altRows: true,
sortable: true,
editable: true,
selectionMode: 'singleRow',
columns: [
{ text: 'First Name', dataField: 'First Name', width: 200 },
{ text: 'Last Name', dataField: 'Last Name', width: 200 },
{ text: 'Product', dataField: 'Product', width: 250 },
{ text: 'Unit Price', dataField: 'Price', width: 100, align: 'right', cellsAlign: 'right', cellsFormat: 'c2' },
{ text: 'Quantity', dataField: 'Quantity', width: 100, align: 'right', cellsAlign: 'right', cellsFormat: 'n' }
]
});
});
</script>
< ?php
}
add_action( 'admin_footer', array( 'Libstaff_Admin','cp_libstaff_load_javascript') );这个功能基本上打破了Wordpress管理区域中的下拉菜单。例如,在小部件管理页面上,活动侧栏菜单不会展开,除非我将其注释掉
jQuery("#emu_libstaff_staff_table").jqxDataTable我知道JQWidgets应该是和Wordpress兼容的,所以你知道冲突从何而来吗?
发布于 2015-06-02 03:13:23
我没有在每个管理页面上都添加这个脚本,而是只针对我的插件中需要运行脚本的页面。
// load the scripts on only the plugin page titled "library-staff"
if (isset($_GET['page']) && ($_GET['page'] == 'library-staff')){
add_action( 'admin_footer', array( 'Libstaff_Admin','cp_libstaff_load_javascript') );
}当脚本仅在此页面上运行时,不存在JS冲突。
https://stackoverflow.com/questions/30484116
复制相似问题