pc端与移动端的事件总结
时间:2022-05-06
本文章向大家介绍pc端与移动端的事件总结,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
body{
margin: 0px;
}
#test,#test1,#test2,#test3,#test4{
position:absolute;
cursor:pointer;
}
#test{
width:300px;
height:300px;
background:goldenrod;
}
#test1{
width:200px;
height:200px;
background:#a5a5a5;
}
#test2{
width:150px;
height:150px;
background:yellowgreen;
}
#test3{
width:100px;
height:100px;
background:red;
}
#test4{
width:50px;
height:50px;
background:blue;
}
</style>
</head>
<body>
<div id="test" >
</div>
<div id="test1">1
</div>
<div id="test2" >2
</div>
<div id="test3" >3
</div>
<div id="test4" >4
</div>
</body>
</html>
<script>
window.onload=function(){
//电脑端测试一二
var test1=document.getElementById("test1");
var test2=document.getElementById("test2");
// 测试一
test1.onmousedown=function(ev){
var this_=this;
ev.preventDefault();
var startX=ev.pageX-this_.offsetLeft;
var startY=ev.pageY-this_.offsetTop;
document.onmousemove=function(ev){
this_.style.left=(ev.pageX-startX)+"px";
this_.style.top=(ev.pageY-startY)+"px";
}
document.onmouseup=function(){
document.onmousemove=null;
document.onmousedown=null;
document.onmouseup=null;
}
}
// 测试二
test2.addEventListener("mousedown",m_mousedown,false);
function m_mousedown(ev){
var this_=this;
ev.preventDefault();
var startX=ev.pageX-this_.offsetLeft;
var startY=ev.pageY-this_.offsetTop;
document.onmousemove=function(ev){
this_.style.left=(ev.pageX-startX)+"px";
this_.style.top=(ev.pageY-startY)+"px";
}
document.onmouseup=function(){
document.onmousemove=null;
document.onmousedown=null;
document.onmouseup=null;
}
}
//移动端测试一二
// 测试1
test3.addEventListener('touchstart',touchstart1,false);
var startX;
var startY;
function touchstart1(event){
var this_=this;
event.preventDefault();
var ev=event.touches[0];
startX=ev.pageX-this_.offsetLeft;
startY=ev.pageY-this_.offsetTop;
document.addEventListener('touchmove',touchmove1, false);
document.addEventListener('touchend', touchend1, false);
}
function touchmove1(){
event.preventDefault();
var ev = event.touches[0];
event.target.style.left=(ev.pageX-startX)+"px";
event.target.style.top=(ev.pageY-startY)+"px";
}
function touchend1(){
event.target.removeEventListener('touchmove', touchmove1, false);
event.target.removeEventListener('touchend', touchend1, false);
}
// 测试2
drag_moblie(test4);
function drag_moblie(obj){
obj.addEventListener('touchstart',touchstart1,false);
var startX;
var startY;
function touchstart1(event){
var this_=this;
event.preventDefault();
var ev=event.touches[0];
startX=ev.pageX-this_.offsetLeft;
startY=ev.pageY-this_.offsetTop;
document.addEventListener('touchmove',touchmove1, false);
document.addEventListener('touchend', touchend1, false);
}
function touchmove1(){
event.preventDefault();
var ev = event.touches[0];
event.target.style.left=(ev.pageX-startX)+"px";
event.target.style.top=(ev.pageY-startY)+"px";
}
function touchend1(){
event.target.removeEventListener('touchmove', touchmove1, false);
event.target.removeEventListener('touchend', touchend1, false);
}
}
drag_moblie(test);
test.addEventListener("mousedown",m_mousedown,false);
}
</script>
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 算法集锦(14)|图像识别| 图像识别算法的罗夏测试
- CenterNet骨干网络之hourglass
- 语音识别中的声学特征提取:梅尔频率倒谱系数MFCC | 老炮儿改名PPLOVELL | 5th
- 基于Apriori的数据关联分析 | 工业数据分析 | 冰水数据智能专题 | 4th
- 基于FP树的频繁项挖掘 | 工业数据分析 | 冰水数据智能 | 5th
- ICCV2019 高通Data-Free Quantization论文解读
- VBA解压缩ZIP文件10——解压-动态Huffman
- 海思NNIE之PFPLD训练与量化
- [译] 用 Truffle 插件自动在Etherscan上验证合约代码
- 二层网络上的以太坊智能合约: Optimistic Rollup
- 基于决策树的工业数据分类——数据智能
- Kestrel的ListenAnyIP和ListenLocalhost的区别
- 【为宏正名】什么?我忘了去上“数学必修课”!
- 第6章 Jenkins系统权限划分与授权管理
- Python爬虫新手教程: 知乎文章图片爬取器