javascript-事件默认行为/右键菜单、拖拽
2017-06-20 00:47
465 查看
1、自定义右键菜单
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css" media="screen"> #div1 {width: 100px;height: 100px;border: 1px solid #000;position: absolute;background: #CCC;display: none;} </style> <script> //阻止默认事件:右键菜单 // document.oncontextmenu=function () { // return false // } function getPos(ev) { var scrollTop=document.documentElement.scrollTop||document.body.scrollTop var scrollLeft=document.documentElement.scrollLeft||document.body.scrollLeft return {x:ev.clientX+scrollLeft,y:ev.clientY+scrollTop} } document.oncontextmenu=function (ev) { var oe=ev||event var od=document.getElementById('div1') od.style.display='block' var odpos=getPos(ev) od.style.left=odpos.x+'px' od.style.top=odpos.y+'px' return false } document.onclick=function () { var od=document.getElementById('div1') od.style.display='none' } </script> </head> <body> <div id="div1"> <ul> <li>新建</li> <li>刷新</li> <li>关闭</li> <li>查看</li> </ul> </div> </body> </html>2、拖拽
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> #div1 {width: 200px;height: 200px;border: 1px solid #000;background: #CCC;position: absolute;} </style> <script type="text/javascript"> window.onload=function () { var od=document.getElementById('div1') var x=0 var y=0 document.onmousedown=function (ev) { x=getPos(ev).x-od.offsetLeft y=getPos(ev).y-od.offsetTop document.onmousemove=function (ev) { var w=getPos(ev).x-x var h=getPos(ev).y-y if(w<0){ w=0 }else if (w>document.documentElement.clientWidth-od.offsetWidth) { w=document.documentElement.clientWidth-od.offsetWidth } if(h<0){ h=0 }else if (h>document.documentElement.clientHeight-od.offsetHeight) { h=document.documentElement.clientHeight-od.offsetHeight } od.style.left=w+'px' od.style.top=h+'px' } document.onmouseup=function () { document.onmousemove=null document.onmouseup=null } //阻止FF bug return false } } function getPos(ev) { var scrollTop=document.documentElement.scrollTop||document.body.scrollTop var scrollLeft=document.documentElement.scrollLeft||document.body.scrollLeft return {x:ev.clientX+scrollLeft,y:ev.clientY+scrollTop} } </script> </head> <body> <div id="div1"></div> </body> </html>3、不能拖出指定对象
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> #div1 {width: 100px;height: 100px;border: 1px solid #000;background: #CCC;position: absolute;} #div2 {width: 200px;height: 200px;border: 1px solid #000;background: red;position: relative;} </style> <script type="text/javascript"> window.onload=function () { var od=document.getElementById('div1') var od2=document.getElementById('div2') var x=0 var y=0 document.onmousedown=function (ev) { x=getPos(ev).x-od.offsetLeft y=getPos(ev).y-od.offsetTop document.onmousemove=function (ev) { var w=getPos(ev).x-x var h=getPos(ev).y-y if(w<0){ w=0 }else if (w>od2.offsetWidth-od.offsetWidth) { w=od2.offsetWidth-od.offsetWidth } if(h<0){ h=0 }else if (h>od2.offsetHeight-od.offsetHeight) { h=od2.offsetHeight-od.offsetHeight } od.style.left=w+'px' od.style.top=h+'px' } document.onmouseup=function () { document.onmousemove=null document.onmouseup=null } //阻止FF bug return false } } function getPos(ev) { var scrollTop=document.documentElement.scrollTop||document.body.scrollTop var scrollLeft=document.documentElement.scrollLeft||document.body.scrollLeft return {x:ev.clientX+scrollLeft,y:ev.clientY+scrollTop} } </script> </head> <body> <div id="div2"> <div id="div1"></div> </div> </body> </html>
相关文章推荐
- JavaScript 事件 -- 默认行为,限制范围拖拽
- js事件中级(默认行为、右击菜单、只输入数字的文本框、拖拽)
- 使用javascript屏蔽web页面上特定按键事件和右键菜单
- javascript 阻止元素对于事件的默认行为
- javascript阻止事件冒泡和浏览器的默认行为
- 自定义菜单|默认行为(事件)
- javascript阻止事件冒泡和浏览器的默认行为
- JavaScript事件冒泡和阻止默认行为和阻止事件冒泡(转载)
- javascript 阻止事件的默认行为
- 阻止右键菜单(阻止默认事件)&&跟随鼠标移动(大图展示)&&自定义右键菜单
- javascript中阻止事件冒泡,阻止事件默认行为
- javascript解决多事件冲突的问题(冒泡行为、默认行为)
- javascript每日一练(八)——事件三:默认行为
- 默认行为之右键菜单
- javascript阻止事件冒泡和浏览器的默认行为
- javascript面向对象重写右键菜单事件
- 使用Javascript封装实现屏蔽鼠标右键系统键菜单,并绑定自定义的事件
- 30-JavaScript-事件-同一事件多个处理程序-window的事件-关闭右键菜单
- javascript阻止事件冒泡和浏览器的默认行为
- javascript阻止冒泡和默认事件(默认行为)