求右键菜单功能 作为程序员需要有学习的能力,要有举一反三的能力,别动不动就求求求。既然已经可以实现菜单了,改进到你的需要是很容易的,通过event,判断不同位置,判断来源,生成不同菜单。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 要是偷懒的话就直接百度搜索下copy一个吧 给你个提示: window.onkeyup = function(evt){ evt = evt || window.event; if(evt && evt.key == 2){ var target = evt.target || evt.srcElement; var isMyMenu = false; for(var i=0;i<myMenus.length;i++){ //myMenus:你的菜单所在元素(如DIV)数组; if(target == myMenus[i]){ //点了你的菜单,干点什么吧。 } } } } liuhongxing1908901 给的代码中最关键的提示:var target = evt.target || evt.srcElement; 取得你所点击的元素后进行判断,比如className,name等属性,然后有针对性的弹出菜单。--------------------------------------------------------------------- 另外,evt.key == 2那个确认是点的右键吗?我记得得用document.contextmenu=function(evt){ //action return false;} 来实现右键弹出的。 错了, 应该是document.oncontextmenu=function(evt){ //action return false;} 问题已经解决,谢谢大家的帮忙。to:yyggkcuf 我不太赞同你前几句,跟别人学习和自己去摸索得到相同结果花费的时间是相差很大的(尤其对我这样的初学者来说)。这也是去学校学习的原因之一吧。但我很感谢你给方向。在找FireFox和IE兼容的时候找到这段代码。发给大家看看。if(window.addEventListener){ FixPrototypeForGecko();}function FixPrototypeForGecko(){ HTMLElement.prototype.__defineGetter__("runtimeStyle",element_prototype_get_runtimeStyle); window.constructor.prototype.__defineGetter__("event",window_prototype_get_event); Event.prototype.__defineGetter__("srcElement",event_prototype_get_srcElement);}function element_prototype_get_runtimeStyle(){ return this.style;}function window_prototype_get_event(){ return SearchEvent();}function event_prototype_get_srcElement(){ return this.target;}function SearchEvent(){ //IE if(document.all){ return window.event; } func=SearchEvent.caller; while(func!=null) { var arg0=func.arguments[0]; if(arg0) { if(arg0.constructor==Event || arg0.constructor == MouseEvent){ return arg0; } } func=func.caller; } return null;} 100分请高手帮我解决函数调用的问题 js控制图片大小 函数customerwidth;与customerwidth();的区别 jquery selector JS函数不能运行 紧急求助:OCX发布问题. 高手指点 --在线等待 JS复制指定区域的文本 请高手看看我的代码,到底哪里有问题 菜鸟问题,请帮忙! videojs插件中间播放按钮怎么显示? javascript 跨域获取URL值的问题 如何用JAVASCRIPT控制panel的显示?
evt = evt || window.event;
if(evt && evt.key == 2){
var target = evt.target || evt.srcElement;
var isMyMenu = false;
for(var i=0;i<myMenus.length;i++){ //myMenus:你的菜单所在元素(如DIV)数组;
if(target == myMenus[i]){
//点了你的菜单,干点什么吧。
}
}
}
}
---------------------------------------------------------------------
另外,evt.key == 2那个确认是点的右键吗?我记得得用document.contextmenu=function(evt){ //action return false;} 来实现右键弹出的。
document.oncontextmenu=function(evt){
//action
return false;
}
to:yyggkcuf 我不太赞同你前几句,跟别人学习和自己去摸索得到相同结果花费的时间是相差很大的(尤其对我这样的初学者来说)。这也是去学校学习的原因之一吧。但我很感谢你给方向。
在找FireFox和IE兼容的时候找到这段代码。发给大家看看。if(window.addEventListener){
FixPrototypeForGecko();
}
function FixPrototypeForGecko(){
HTMLElement.prototype.__defineGetter__("runtimeStyle",element_prototype_get_runtimeStyle);
window.constructor.prototype.__defineGetter__("event",window_prototype_get_event);
Event.prototype.__defineGetter__("srcElement",event_prototype_get_srcElement);
}
function element_prototype_get_runtimeStyle(){
return this.style;
}
function window_prototype_get_event(){
return SearchEvent();
}
function event_prototype_get_srcElement(){
return this.target;
}function SearchEvent(){
//IE
if(document.all){
return window.event;
}
func=SearchEvent.caller;
while(func!=null)
{
var arg0=func.arguments[0];
if(arg0)
{
if(arg0.constructor==Event || arg0.constructor == MouseEvent){
return arg0;
}
}
func=func.caller;
}
return null;
}