除非你弹出菜单里面是flash,或者点击右键的时候隐藏select,否则都要被SELECT挡住,这个是IE的一个问题,别的浏览器没有这样的问题。
解决方案 »
- 关于延迟执行for循环的问题。
- =========iframe加载页面得问题!!!==========
- 正则表达式
- 正确与否??(在js里面写--判断是否为数字)
- 正则表达式,匹配img标签不带alt属性。
- 如何在一个文本输入框获得焦点后把光标置在文字的最后面?
- 迷茫中,请指点
- 如何判断文本框里输入的是浮点型?
- 请问in the object hierarchy和in the document hierarchy有什么区别?
- 打开一个新窗口时可以去掉菜单栏,但是如果是第一个页面怎么去掉。用javascript做不到吧,那么修改注册表可以做到吗?
- fireEvent参数怎么加啊,用fireEvent("onmousedown")产生的event.button为0
- 小数点位数—特急,在线等!!!
时间:2005-11-7
描述:MxxPopMenu(htc) v1.0
调用方法:在<head></head>中添加
<style type="text/css">
.popMenu{ behavior: url(MxxPopMenu.htc);}
</style>
为需要菜单的对象添加 class="popMenu"
e.g:<body class ="popMenu"></body>
-->
<!--
接口定义
-->
<public:component>
<public:property name="description" value="Editable table" />
<public:property name="version" value="1.0.0.0" /> <public:attach event="oncontentready" onevent="init()" />
<public:attach event="oncontextmenu" onevent="showMenu()" /></public:component>
<!--
组件实现
--><script language="javascript">
var oPopup=null; //弹出菜单
var popWidth=110; //弹出菜单的宽度
var popHeight=140; //弹出菜单的高度
var curRow=null; //记录弹出菜单最后指向的行function init(){
oPopup = window.createPopup();
var oPopBody = oPopup.document.body;
//设置菜单样式
oPopBody.style.backgroundColor = "scrollbar";
oPopBody.style.border = "2px solid";
oPopBody.style.borderColor = "buttonhighlight buttonshadow buttonshadow buttonhighlight"
var strHTML=""
strHTML+='<table oncontextmenu="return false;" onselectstart="return false;" id="tbMenu" ';
strHTML+=' style="cursor:default; width:100%; height:100%;font-size:12px;" border=0 cellpadding=0 cellspacing=2>';
//在这里扩展菜单的选项start
strHTML+='<tr operation="edit"><td> 编辑</td></tr>';
strHTML+='<tr operation="refresh"><td> 刷新</td></tr>';
strHTML+='<tr operation="addrowup"><td> 添加新行(上)</td></tr>';
strHTML+='<tr operation="addrowdown"><td> 添加新行(下)</td></tr>';
strHTML+='<tr operation="delrow"><td> 删除该行</td></tr>';
strHTML+='<tr operation="moveup"><td> 向上移动一行</td></tr>';
strHTML+='<tr operation="movedown"><td> 向下移动一行</td></tr>';
//在这里扩展菜单的选项end
strHTML+='</table>'; oPopBody.innerHTML=strHTML;
var tb = oPopup.document.getElementById("tbMenu");
var rs=tb.rows;
for(var i=0;i<rs.length;i++){
var row=rs[i];
addEvent(row);
}
}function showMenu(){
var e=window.event;
var src=e.srcElement;
oPopup.show(window.event.clientX, window.event.clientY, popWidth, popHeight, document.body);
window.event.returnValue=false;
}function addEvent(row){
row.attachEvent("onmouseover",function(){selRow(row)});
row.attachEvent("onclick",function(){onEvent(row)});
}
function selRow(src){
if(curRow!=null){ curRow.style.backgroundColor="scrollbar"; curRow.style.color="black";}
curRow=src; curRow.style.backgroundColor="midnightblue"; curRow.style.color="white";
}function onEvent(src){
oPopup.hide();
switch(src.operation){
//在这里为菜单项的点击事件添加处理方法
//本示例的方法只供参考,没有实现
case "edit": example(src.operation); break;
case "refresh": example(src.operation); break;
case "addrowup": example(src.operation); break;
case "addrowdown": example(src.operation); break;
case "delrow": example(src.operation); break;
case "moveup": example(src.operation); break;
case "movedown": example(src.operation); break;
default: return;
}
src.style.backgroundColor="scrollbar";
src.style.color="black";
curRow=null;
}function example(str){
alert("您选择了"+str+"操作!");
}
</script>我要把有限的生命投入到无限的为人民回贴事业中去!
谁会申请域名?帮我申请一个,最好是www.meixx.com/net/org,不要二级和三级的!
还有好的免费空间,谁知道?帮忙啊!
并且设置这个iframe的z-index比你的菜单小一号就行了什么都挡不住
<style type="text/css">
.popMenu{ behavior: url(MxxPopMenu.htc);}
</style>
为需要菜单的对象添加 class="popMenu"
e.g:<body class ="popMenu"></body>
<div class="menuitems" url = "javascript:cunGroup()">Save Group</div>
<hr>
<div class="menuitems" url = "javascript:cunquQuery()">Save Query</div>
<hr>
<div class="menuitems" url ="javascript:location.reload()" >Refurbish</div>
<hr>
<div class="menuitems" url ="javascript:del_list_table()">Delete</div>
<hr>
<div class="menuitems" url ="javascript:window.close()">Close</div>
</div>
我的是这样的 给个例子先
<!--作者:梅雪香(meixx)
时间:2005-11-7
描述:MxxPopMenu(htc) v1.0
调用方法:在<head></head>中添加
-->
<!--
接口定义
-->
<public:component>
<public:property name="description" value="Editable table" />
<public:property name="version" value="1.0.0.0" /> <public:attach event="oncontentready" onevent="init()" />
<public:attach event="oncontextmenu" onevent="showMenu()" /></public:component>
<!--
组件实现
-->
<head>
<style type="text/css">
.popMenu{ behavior: url(MxxPopMenu.htc);}
</style>
</head>
<body class="popMenu" id="popMenu">
<script language="javascript">
var oPopup=null; //弹出菜单
var popWidth=110; //弹出菜单的宽度
var popHeight=140; //弹出菜单的高度
var curRow=null; //记录弹出菜单最后指向的行
oPopup = window.createPopup();
function init(){
//oPopup = window.createPopup();
var oPopBody = oPopup.document.body;
//设置菜单样式
oPopBody.style.backgroundColor = "scrollbar";
oPopBody.style.border = "2px solid";
oPopBody.style.borderColor = "buttonhighlight buttonshadow buttonshadow buttonhighlight"
var strHTML=""
strHTML+='<table oncontextmenu="return false;" onselectstart="return false;" id="tbMenu" ';
strHTML+=' style="cursor:default; width:100%; height:100%;font-size:12px;" border=0 cellpadding=0 cellspacing=2>';
//在这里扩展菜单的选项start
strHTML+='<tr operation="edit"><td> 编辑</td></tr>';
strHTML+='<tr operation="refresh"><td> 刷新</td></tr>';
strHTML+='<tr operation="addrowup"><td> 添加新行(上)</td></tr>';
strHTML+='<tr operation="addrowdown"><td> 添加新行(下)</td></tr>';
strHTML+='<tr operation="delrow"><td> 删除该行</td></tr>';
strHTML+='<tr operation="moveup"><td> 向上移动一行</td></tr>';
strHTML+='<tr operation="movedown"><td> 向下移动一行</td></tr>';
//在这里扩展菜单的选项end
strHTML+='</table>'; oPopBody.innerHTML=strHTML;
var tb = oPopup.document.getElementById("tbMenu");
var rs=tb.rows;
for(var i=0;i<rs.length;i++){
var row=rs[i];
addEvent(row);
}
}function showMenu(){
var e=window.event;
var src=e.srcElement;
oPopup.show(window.event.clientX, window.event.clientY, popWidth, popHeight, document.body);
window.event.returnValue=false;
}function addEvent(row){
row.attachEvent("onmouseover",function(){selRow(row)});
row.attachEvent("onclick",function(){onEvent(row)});
}
function selRow(src){
if(curRow!=null){ curRow.style.backgroundColor="scrollbar"; curRow.style.color="black";}
curRow=src; curRow.style.backgroundColor="midnightblue"; curRow.style.color="white";
}function onEvent(src){
oPopup.hide();
switch(src.operation){
//在这里为菜单项的点击事件添加处理方法
//本示例的方法只供参考,没有实现
case "edit": example(src.operation); break;
case "refresh": example(src.operation); break;
case "addrowup": example(src.operation); break;
case "addrowdown": example(src.operation); break;
case "delrow": example(src.operation); break;
case "moveup": example(src.operation); break;
case "movedown": example(src.operation); break;
default: return;
}
src.style.backgroundColor="scrollbar";
src.style.color="black";
curRow=null;
}function example(str){
alert("您选择了"+str+"操作!");
}
</script>
</body>
</html>
梅雪香(meixx) 前辈 ,是这样配置么??我没跑出来,请指教,我很菜,嘿嘿~~
我发的所有代码存为一个htc文件,比如MxxPopMenu.htc
然后在绑定到需要菜单的对象上面,如果想在body里弹出菜单,那就在html文件里写CSS:body{ behavior: url(MxxPopMenu.htc);}就可以了,注意文件路径要对得上才行.