찾다
Q&A javascript - 给元素添加oncontextmenu事件 在火狐浏览器下不执行函数?

0

/动态生成tr/
for ( var j in dirs) {

    var shareDirid = dirs[j].id + ":dir";
    qq += "<tr oncontextmenu='operateList(event,this)'></tr>"
}

/右键菜单/
function operateList(event,obj){

 window.event.returnValue=false;
 var top=0,left=0;
 var btnNum = event.button;
     $(obj).addClass('a');
     $(obj).siblings().each(function(i,ele){
         if(ele.className.indexOf('a')!=-1){
             $(ele).removeClass('a');
         }
     });         
     $(obj).find('input[type="checkbox"]').prop('checked',true);
     $(obj).siblings().find('input[type="checkbox"]').prop('checked',false);
    var $opereteList=$('#operateList')[0];
    var $fileTable=$('#fileTable')[0];
    $opereteList.style.display='block';
    var eTop=event.clientY;
    var eLeft=event.clientX;
    var oHeight=$opereteList.offsetHeight;
    var oWidth=$opereteList.offsetWidth;
    var tTop=0;
    var tLeft=0;
    var h=$fileTable.offsetHeight;
    var w=$fileTable.offsetWidth;        
    while($fileTable.offsetParent!=null){
        tTop +=$fileTable.offsetTop;
        tLeft +=$fileTable.offsetLeft;
        $fileTable=$fileTable.offsetParent;
    }        
    var    tHeight=tTop+h;
    var tWidth=tLeft+w;
    if(eTop+oHeight<=tHeight){
        top=eTop-15;
    }else{
        top=eTop-(eTop+oHeight-tHeight);
    }
  if(eLeft+oWidth<=tWidth){
       left=eLeft;
  }else{
    left=eLeft-(eLeft+oWidth-tWidth);
  }      
$opereteList.style.top=top+'px';
$opereteList.style.left=left+'px';
 //判断当前是否为文件还是为文件夹 
var value=0;
value=$(obj).find('input[type="hidden"]').attr('value');
if(value==1){
    $('#share').show();
    $('#download').show();
    $('#close').show();
    $('#tags').show();
    $('#exchange').show();
    $('#copy').show();
    $('#edit').show();
    $('#erase').hide();
    $('#square').hide();
    $('#cloud').hide();
    $('#upload').hide();
}else if(value==0){
    $('#share').show();
    $('#download').show();
    $('#close').show();
    $('#tags').show();
    $('#exchange').show();
    $('#copy').show();
    $('#edit').hide();
    $('#erase').show();
    $('#square').show();
    $('#cloud').show();
    $('#upload').show();
}
clearEventBubble(event);
return false;

}
谷歌和ie都能正常显示 火狐就显示默认的右键菜单

Your Answer
제출하다

1 답변
0

oncontextmenu 事件在元素中用户右击鼠标时触发并打开上下文菜单。
注意:所有浏览器都支持 oncontextmenu 事件, contextmenu 元素只有 Firefox 浏览器支持。
http://www.runoob.com/jsref/e...

2017-04-11 13:27:09

제출하다

Hot Tools

vc9-vc14(32+64비트) 런타임 라이브러리 모음(아래 링크)

vc9-vc14(32+64비트) 런타임 라이브러리 모음(아래 링크)

phpStudy 설치에 필요한 런타임 라이브러리 모음을 다운로드하세요.

VC9 32비트

VC9 32비트

VC9 32비트 phpstudy 통합 설치 환경 런타임 라이브러리

PHP 프로그래머 도구 상자 정식 버전

PHP 프로그래머 도구 상자 정식 버전

Programmer Toolbox v1.0 PHP 통합 환경

VC11 32비트

VC11 32비트

VC11 32비트 phpstudy 통합 설치 환경 런타임 라이브러리

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.