gpt4 book ai didi

jquery - jqGrid/ui-widget-overlay 阻止整个页面上的所有按钮和选项卡事件

转载 作者:行者123 更新时间:2023-12-03 22:33:34 44 4
gpt4 key购买 nike

我正在将 redmond themeroller 与 jqGrid 一起使用。文件 jquery-ui-1.8.16.custom.css 具有此覆盖层。

/* Overlays */
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

我认为它应该在网格上制作一个覆盖层来进行样式设计。但它似乎覆盖了我的整个页面,虽然网格本身仍然有鼠标事件,但页面的其余部分(包括网格的寻呼机/导航器部分)没有任何鼠标事件,并且按钮没有响应点击次数。网格之外的选项卡 - 也没有单击事件。即使该选项卡之外的选项卡(主要、用户...)也没有事件。如果我注释掉 ui-widget-overlay,那么所有按钮和选项卡都会再次工作,但屏幕的颜色会变浅,并且网格中的交替行颜色每行都变为白色。为什么会出现这种情况?

<link rel="stylesheet" type="text/css" media="screen" href="/plugins/snap/jquery-ui-1.8.16.custom.css" />
<link rel="stylesheet" type="text/css" media="screen" href="/plugins/snap/jqModal.css" />
<script src="/plugins/snap/jquery-1.7.1.min.js" type="text/javascript"></script>
<script src="/plugins/snap/jquery.jqGrid-4.2.0/src/jqModal.js" type="text/javascript"></script>
<script src="/plugins/snap/jquery.jqGrid-4.2.0/js/i18n/grid.locale-en.js" type="text/javascript"></script>
<script src="/plugins/snap/jquery.jqGrid-4.2.0/js/jquery.jqGrid.min.js" type="text/javascript"></script>
<script src="/plugins/snap/jquery-ui-1.8.16.custom/js/jquery-ui-1.8.16.custom.min.js" type="text/javascript"></script>

<style type="text/css">

</style>

<script type="text/javascript">
$().jquery;

function switch_tabs(obj)
{
$('.tab-content').hide();
$('.tabs a').removeClass("selected");
var id = obj.attr("rel");

$('#'+id).show();
obj.addClass("selected");
}

var lastsel_devinfo;
$(document).ready(function() {

$('.tabs a').click(function(){
switch_tabs($(this));
});

switch_tabs($('.defaulttab'));

//$('#devInfo").jqGrid('navGrid','#pager',{},{zIndex:1234},{zIndex:1234},{zIndex:1234},{multipleSearch:true,overlay:false});
var initialized = [false, false];

jQuery("#devinfo").jqGrid({
url:'/plugins/snap/manageList.php?q=3',
datatype: "json",
height: 200,
altRows:true,
navigator: true,
pager: '#pager',
rowNum: 50,


colNames:['ID','Managed By', 'Serial Number', 'Share Name', 'Device Name','inode'],
colModel:[
{name:'id',index:'id',title:false, width:50, sorttype:"int", editable: false},
{name:'owner',index:'owner',title:false,align:'center', width:100,editable: false},
{name:'serial',index:'serial',title:false,align:'right', width:225, editable: true},
{name:'share',index:'share', title:false,width:225,editable: true,editoptions:{size:15,maxlength:30}},
{name:'name',index:'name',title:false,align:'center', width:90,editable: false},
{name:'inode',index:'inode',title:false, width:50,editable: false},
],
afterInsertRow: function(rowid, aData, rowelem)
{
if ( aData.share != "" && aData.owner == 'unraid' ){
jQuery("#devinfo").setCell(rowid,'share','',{color:'red'},{'title':"Sorry, can't edit this share name because the device is now managed by unraid."});
}
},
onSelectRow: function(id){
if(id ) {
if ( id!==lastsel_devinfo){
jQuery('#devinfo').jqGrid('restoreRow',lastsel_devinfo);
var cm =jQuery('#devinfo').jqGrid('getColProp','serial');
var id = jQuery("#devinfo").jqGrid('getGridParam','selrow');

var ret = jQuery("#devinfo").jqGrid('getRowData',id);

if ( ret.owner != 'unraid' ) {
var extraparam=new Array();
extraparam['serial']=ret.serial;
extraparam['oldShareName']=ret.share ;
extraparam['owner']=ret.owner ;
jQuery('#devinfo').jqGrid('setGridParam',{
url:"/plugins/snap/manageList.php?q=1", postData: { serialNumber: ret.serial }
});
cm.editable = false;

jQuery('#devinfo').jqGrid('editRow',id,true
,null //oneditfunc
,function(response) {
var obj=jQuery.parseJSON(response.responseText);
if (obj.error) return false;
else return true;
}
,"/plugins/snap/manageList.php?q=1"
, extraparam //extraparam
, aftersavefunc //aftersavefunc
,null //errorfunc
,null //afterrestorefunc
);

}
cm.editable = true;
lastsel_devinfo=id;


} else {
jQuery('#devinfo').jqGrid('restoreRow',lastsel_devinfo);
lastsel_devinfo="";
jQuery('#devinfo').jqGrid('resetSelection');
}
} //if(id && id
}, //onSelectRow
caption: "S.N.A.P."

//}); //jQuery("#devinfo")
//jQuery("#devinfo").jqGrid('navGrid','#pager',{ view:false,edit:false,add:false,del:false,search:false});
}).navGrid( '#pager',{ view:false,edit:false,add:false,del:true,search:false},{zIndex:1234},{zIndex:1234},{zIndex:1234},{multipleSearch:true,overlay:false}).jqGrid('navButtonAdd','#pager',{
caption:"Add",
buttonimg:"",
position:"last" ,
title:"Add New Row",
onClickButton: function(){
alert("Adding Row");
var datarow = { serial:"test", share:"test" };
//var su=jQuery('#devinfo').jqGrid('addRowData', 0, datarow, 0);
jQuery('#devinfo').jqGrid('editGridRow', "new", {});
}
}) ;
$('.ui-jqgrid-titlebar-close','#gview_devinfo').remove();

});

function aftersavefunc(rowid, response) {
//this writes the owner from the server response to the owner cell in the just edited row.
//because creating will change that cell.
var obj=jQuery.parseJSON(response.responseText);
if (obj.error) grid.jqGrid('restoreRow',lastSel);
else {
jQuery("#devinfo").jqGrid('setCell',rowid,'owner',obj.owner);
jQuery('#devinfo').jqGrid('resetSelection');
}
}





//jqGrid: how to change cell padding
//http://stackoverflow.com/questions/3015201/jqgrid-how-to-change-cell-padding
</script>



<?PHP
//phpinfo();
//require_once 'jsonwrapper.php';
//include("jqgrid-php-v1.2/inc/jqgrid_dist.php");
//$grid->navigator = true;

?>

<style type="text/css">


body {
font-family:Arial;
}
#wrapper {
width:80%;
}
ul.tabs {
width:250px;
margin:0;
padding:0;
}
ul.tabs li {
display:block;
float:left;
padding:0 5px;
}
ul.tabs li a {
display:block;
float:left;
padding:5px;
font-size:0.8em;
background-color:#e0e0e0;
color:#666;
text-decoration:none;
}
.selected {
font-weight:bold;
}
.tab-content {
clear:both;
border:1px solid #ddd;
padding:10px;
}
</style>


<div id="wrapper">
<ul class="tabs">
<li><a href="#" class="defaulttab" rel="tabs1">Tab #1</a></li>
<li><a href="#" rel="tabs2">Tab #2</a></li>
<li><a href="#" rel="tabs3">Tab #3</a></li>
</ul>

<div class="tab-content" id="tabs1">
<table id="devinfo" class="scroll"></table>
<div id="pager" class="scroll" style="text-align:right;">></div>

</div>
<div class="tab-content" id="tabs2">Tab #2 content</div>
<div class="tab-content" id="tabs3">Tab #3 content</div>
</div>




<input type="button" onclick = "javascript:add();" value ="add" />
Click Row to edit Share Name, press ENTER to save or ESC to cancel.

最佳答案

ui-widget-overlay 是一个通用的 jquery ui 样式类。它会在您应用此类的元素上创建一个覆盖层。

要在 jQgrid 上创建覆盖,您应该使用类jqgrid-overlay。这将阻止网格上默认的鼠标单击事件。
调出叠加层:

$("#lui_"+gridid).show();  

并隐藏它
$("#lui_"+gridid).hide();

关于jquery - jqGrid/ui-widget-overlay 阻止整个页面上的所有按钮和选项卡事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8708766/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com