js 오른쪽 단추 로 사용자 정의 메뉴 팝 업
7625 단어 js
//
var epMenu={
create:function(point,option){
var menuNode=document.getElementById('epMenu');
if(!menuNode){
//
menuNode=document.createElement("div");
menuNode.setAttribute('class','epMenu');
menuNode.setAttribute('id','epMenu');
}else $(menuNode).html('');//
$(menuNode).css({left:point.left+'px',top:point.top+'px'});
for(var x in option){
var tempNode=document.createElement("a");
$(tempNode).text(option[x]['name']).on('click',option[x].action);
menuNode.appendChild(tempNode);
}
$("body").append(menuNode);
},
destory:function(){
$(".epMenu").remove();
}
};
function sayhello(){
alert("hellokity");
epMenu.destory();
}
function hideSysMenu() {
return false;
}
css 스타일 정의 부분:
.epMenu{ width:120px; background:#f0f0f0; position:fixed; left:0; top:0; box-shadow:2px 2px 2px 2px #807878;}
.epMenu a{ display:block; height:25px; line-height:25px; padding-left:15px; border-top:1px solid #e0e0e0; border-bottom:1px solid #fff; font-family: ; font-size:14px; cursor:default;}
.epMenu a:hover{ background:#fff;}
다음은 메뉴 의 사용자 정의 호출 부분 입 니 다.
document.onmousedown = function(e){
var menuNode=document.getElementById('epMenu');
if(e.button===2){
document.oncontextmenu = hideSysMenu;//
var evt = window.event || arguments[0];
var rightedge = evt.clientX;
var bottomedge = evt.clientY;
epMenu.create({left:rightedge,top:bottomedge},[{name:'a1','action':sayhello},{name:'b2','action':sayhello},{name:'c3','action':sayhello},{name:'c4','action':sayhello}]);
}
// epMenu.destory();
}
간단하게 해석 해 보 겠 습 니 다. 1. epMenu. create 방법의 첫 번 째 매개 변 수 는 메뉴 팝 업 의 위치 좌표 (화면 왼쪽 상단 에서) 입 니 다. 여 기 는 마우스 클릭 의 좌 표를 사용 하고 메뉴 는 마우스 클릭 에 따라 팝 업 됩 니 다.두 번 째 매개 변 수 는 json 형식의 데이터 로 메뉴 항목 을 사용자 정의 하 는 데 사 용 됩 니 다. name 은 메뉴 항목 의 이름 입 니 다. action 은 메뉴 항목 을 클릭 한 후의 동작 입 니 다 (함수, ajax 요청 등 일 수 있 습 니 다).2. e. button 의 값: 2 는 오른쪽 단 추 를 누 르 는 것 을 나타 내 고 0 은 왼쪽 단 추 를 누 르 는 것 을 나타 내 며 4 는 가운데 단 추 를 누 르 는 것 을 나타 내 며 각 브 라 우 저의 button 값 이 다 릅 니 다. 여 기 는 ie11 만 참고 합 니 다.3. 사용자 정의 메뉴 를 만 들 기 전에 시스템 의 기본 오른쪽 키 메뉴 를 차단 하 는 것 이 중요 합 니 다!!마지막 으로 이 간단 한 오른쪽 버튼 메뉴 기능 은 약간의 흠 이 있 습 니 다. 오른쪽 버튼 메뉴 가 팝 업 된 후에 메뉴 항목 의 클릭 조작 을 하지 않 으 면 메뉴 가 자동 으로 닫 히 지 않 고 나중에 시간 이 있 으 면 다시 보완 하 겠 습 니 다.IT 물이 깊 으 니 천천히 헤엄쳐 라 하하 하!!!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[2022.04.19] 자바스크립트 this - 생성자 함수와 이벤트리스너에서의 this18일에 this에 대해 공부하면서 적었던 일반적인 함수나 객체에서의 this가 아닌 오늘은 이벤트리스너와 생성자 함수 안에서의 this를 살펴보기로 했다. new 키워드를 붙여 함수를 생성자로 사용할 때 this는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.