搭建网站找什么公司,工程建设有限公司经营范围,温州建站平台,哈尔滨网站建设30t鼠标事件深入
点击事件 mousedown mouseupposition: absolute 会将内联元素变为块级#xff08;比如a#xff09;a标签的协议限定符#xff08;伪协议#xff0c;防止跳转和刷新#xff0c;让href不生效#xff09;#xff0c;javascript:;#xff0c;可以让点击和拖…鼠标事件深入
点击事件 mousedown mouseupposition: absolute 会将内联元素变为块级比如aa标签的协议限定符伪协议防止跳转和刷新让href不生效javascript:;可以让点击和拖拽分离模块的声明xx变量 function () { } / IIFE等待型模块和立即执行的模块用按下、抬起的时间差值来判断是拖拽还是点击
边界问题
浏览器可能有计算误差可以适当将范围缩小1像素防止出现滚动条
鼠标点击
鼠标右键、中键没有onclick事件有onmouseup事件e.button 左中右分别对应012IE10以上使用否则就不要去添加这些事件了鼠标右键事件contextmenu模拟双击事件两次点击的时间间隔 200ms
多人协作插件开发 bind也可以最简单
!DOCTYPE html
html langenheadmeta charsetUTF-8meta http-equivX-UA-Compatible contentIEedgemeta nameviewport contentwidthdevice-width, initial-scale1.0title计算器/title
/headbodyinput typetext idinput1input typetext idinput2div classbtn-groupbutton data-methodplus/buttonbutton data-methodminus-/buttonbutton data-methodmulti*/buttonbutton data-methoddiv//button/divscript src../compat.js/scriptscript srcjs/index.js/scriptscriptvar oInput1 document.getElementById(input1),oInput2 document.getElementById(input2),btnGroup document.getElementsByClassName(btn-group)[0];var calculator new Calculator({oInput1,oInput2,btnGroup}).init()/script/body/html; (function () {var Calculator function (opt) {this.oInput1 opt.oInput1this.oInput2 opt.oInput2this.btnGroup opt.btnGroup}Calculator.prototype {init: function () {this.bindEvent()},bindEvent: function () {var btns this.btnGroupaddEvent(btns, click, this.compute.bind(this))},compute: function (e) {// this指向实例var num1 parseInt(this.oInput1.value),num2 parseInt(this.oInput2.value),e e || window.event,tar e.target || e.srcElementtagName tar.tagName.toLowerCase();if (tagName button) {var method tar.getAttribute(data-method)switch (method) {case plus:console.log(num1 num2)break;case minus:console.log(num1 - num2)break;case multi:console.log(num1 * num2)break;case div:console.log(num1 / num2)break;}}}}window.Calculator Calculator})()