该操作并不会改变真实鼠标的位置。
clientX/clientY 可选 0 long长整型
鼠标事件时相对于浏览器窗口viewport的水平/垂直坐标位置,不包含滚动距离;
该操作并不会改变真实鼠标的位置。
ctrlKey 可选 false Boolean 按下了Ctrl键
shiftKey 可选 false Boolean 按下了Shift键
altKey 可选 false Boolean 按下了Alt键
metaKey 可选 false Boolean 按下了Meta键
button 可选 0 short短整型
当事件发生时哪个按键被按下或释放;
0:左键 1:中建 2:右键
buttons 可选 0 无符号short
当事件发生时哪些按键被按下;
0:无按键按下 1:左键 2:中建 4:右键
relatedTarget 可选 null EventTarget
标明刚离开的元素 (发生在事件 mouseenter 或 mouseover);
或刚进入的元素 (发生在事件 mouseout 或 mouseleave)。
region 可选 null DOMString 点击事件影响的区域DOM的id
二、触屏事件TouchEvent
TouchEvent是一类描述手指在触摸平面(触摸屏、触摸板等)的状态变化的事件。
每个Touch对象代表一个触点; 每个触点都由其位置,大小,形状,压力大小,和目标元素描述。TouchList对象代表多个触点的一个列表。
触屏touch事件的更多细节,可以参加《触屏touch事件记录》
on(document.body, 'touchstart', function(e) { var touch = e.touches.item(0); console.log('touchstart x:' + touch.clientX, 'y:' + touch.clientY); }); on(document.body, 'touchmove', function(e) { var touch = e.touches.item(0); console.log('touchmove x:' + touch.clientX, 'y:' + touch.clientY); }); on(document.body, 'touchend', function(e) { var touch = e.changedTouches.item(0); console.log('touchend x:' + touch.clientX, 'y:' + touch.clientY); }); on(window, 'scroll', function(e) { console.log('scroll timestamp:' + e.timeStamp); }); /** * TouchEvent * 包括事件 touchstart,touchend,touchmove,touchcancel */ function touchstart(x, y, number) { var touch = new Touch({ identifier: number, target: document.querySelector('.drag'), //随便设置的 clientX: x, clientY: y }); console.log('touchstart环境 x:' + x, 'y:' + y); var event = new TouchEvent('touchstart', { touches: [touch], targetTouches: [touch], changedTouches: [touch] }); document.body.dispatchEvent(event); //touchstart } function touchmove(x, y, interval, number) { var touch = new Touch({ identifier: number, target: document.querySelector('.drag'), //随便设置的 clientX: x, clientY: y + interval }); var event = new TouchEvent('touchmove', { touches: [touch], targetTouches: [touch], changedTouches: [touch] }); document.body.dispatchEvent(event); //touchmove } function touch() { var x = random(window.outerWidth), y = random(window.outerHeight), number = 1, interval = 10; touchstart(x, y, number); number++; touchmove(x, y, interval, number); number++; interval += 10; touchmove(x, y, interval, number); number++; interval += 10; touchmove(x, y, interval, number); document.body.scrollTop = interval; //自动滚动 } setTimeout(function() { touch(); }, 2000);
1)Touch
语法如下:
touchInit: