原有系统弹出窗口时, 用阴影遮住父窗口,但鼠标点击父窗口,依然可以使用Tab和Space键操作父窗口功能。做了以下改动:
1. 弹出窗口后调用以下代码,使对父窗口的键盘及其它操作失效,经测试没有问题。
function disableDiv(divID) {
var objs = new Array();
var strobj;
strobj = "input|a|select|img";
objs = strobj.split("|");
for(k=0; k<objs.length; k++){
var obj = document.getElementById(divID).getElementsByTagName(objs[k]);
for (var i=0; i<obj.length; i++) {
obj[i].disabled = true;
obj[i].onkeypress = function() {
this.disabled = true;
return false;
}
}
}
}2. 关闭弹出窗口时,调用以下代码去除对父窗口操作的屏蔽function enableDiv(divID) {
var objs = new Array();
var strobj;
strobj = "input|a|select|img";
objs = strobj.split("|");
for(k=0; k<objs.length; k++){
var obj = document.getElementById(divID).getElementsByTagName(objs[k]);
for (var i=0; i<obj.length; i++) {
obj[i].disabled = false;
obj[i].onkeypress = function() {
this.disabled = false;
return false;
}
}
}
}
测试时发现有问题,似乎以下部分不对obj[i].onkeypress = function() {
this.disabled = false;
return false;
}
请大家多多指点。
1. 弹出窗口后调用以下代码,使对父窗口的键盘及其它操作失效,经测试没有问题。
function disableDiv(divID) {
var objs = new Array();
var strobj;
strobj = "input|a|select|img";
objs = strobj.split("|");
for(k=0; k<objs.length; k++){
var obj = document.getElementById(divID).getElementsByTagName(objs[k]);
for (var i=0; i<obj.length; i++) {
obj[i].disabled = true;
obj[i].onkeypress = function() {
this.disabled = true;
return false;
}
}
}
}2. 关闭弹出窗口时,调用以下代码去除对父窗口操作的屏蔽function enableDiv(divID) {
var objs = new Array();
var strobj;
strobj = "input|a|select|img";
objs = strobj.split("|");
for(k=0; k<objs.length; k++){
var obj = document.getElementById(divID).getElementsByTagName(objs[k]);
for (var i=0; i<obj.length; i++) {
obj[i].disabled = false;
obj[i].onkeypress = function() {
this.disabled = false;
return false;
}
}
}
}
测试时发现有问题,似乎以下部分不对obj[i].onkeypress = function() {
this.disabled = false;
return false;
}
请大家多多指点。
this.disabled = false;
return true;//返回true
}