javascript快捷键/停止间隔功能
javascript shortcut key / stop Interval function
我为JavaScript函数做了一个快捷键。 我设置了 S 键来启动它,我设置了 Z 键以清除间隔功能,但我m tired about this and when press Z key the Interval doesn
停止:(
var isCtrl = false;
document.onkeydown=function(e){
if(e.which == 83) {
var elem = document.elementFromPoint( cursorX,cursorY );
elem.addEventListener('click', function() {
console.log('clicked')
}, false);
var support = true;
try {
if (new MouseEvent('click', {bubbles: false}).bubbles !== false) {
support = false;
} else if (new MouseEvent('click', {bubbles: true}).bubbles !== true) {
support = false;
}
} catch (e) {
support = false;
}
var refreshIntervalId = setInterval(function() {
if (support) {
var event = new MouseEvent('click');
}else{
var event = document.createEvent('Event');
event.initEvent('click', true, true);
}
elem.dispatchEvent(event);
},10);
var cursorX;
var cursorY;
cursorX = 0; cursorY = 0;
document.onmousemove = function(e){
cursorX = e.clientX;
cursorY = e.clientY;
elem = document.elementFromPoint(e.clientX, e.clientY);
}
if(e.which == 90) {
clearInterval(refreshIntervalId);
}
}
}
帮助我,我想按 Z 键和间隔停止,但我不能......
更新:此代码工作正常。 使用 S 键启动,Z 键停止功能。
var elem = document.elementFromPoint( cursorX,cursorY );
elem.addEventListener('click', function() {
console.log('clicked')
}, false);
var support = true;
try {
if (new MouseEvent('click', {bubbles: false}).bubbles !== false) {
support = false;
} else if (new MouseEvent('click', {bubbles: true}).bubbles !== true) {
support = false;
}
} catch (e) {
support = false;
}
var cursorX;
var cursorY;
cursorX = 0; cursorY = 0;
document.onmousemove = function(e){
cursorX = e.clientX;
cursorY = e.clientY;
elem = document.elementFromPoint(e.clientX, e.clientY);
}
var refreshIntervalId;
window.addEventListener("onkeydown", keyDown,true);
window.addEventListener("keydown", keyDown);
function keyDown() {
var e = window.event;
switch (e.keyCode) {
case 83:
start();
break;
case 90:
stop();
break;
}
}
function start() {
stop();
refreshIntervalId = setInterval(function() {
if (support) {
var event = new MouseEvent('click');
}else{
var event = document.createEvent('Event');
event.initEvent('click', true, true);
}
elem.dispatchEvent(event);
},1000);
}
function stop() {
if (refreshIntervalId != null) {
clearInterval(refreshIntervalId);
refreshIntervalId = null;
}
}
您还必须以某种方式对其进行编码,以避免多次启动计时器。你应该像这样构造它(将计时器的 var 移到函数之外):
var refreshIntervalId;
window.addEventListener("onkeydown", keyDown,true);
window.addEventListener("keydown", keyDown);
function keyDown() {
var e = window.event;
switch (e.keyCode) {
case 83:
start();
break;
case 90:
stop();
break;
}
}
function start() {
stop();
refreshIntervalId = setInterval(function() {
// code...
},10);
}
function stop() {
if (refreshIntervalId != null) {
clearInterval(refreshIntervalId);
refreshIntervalId = null;
}
}
您似乎没有做一个事件来收听按键。
j查询:
$(window).keypress(function(e) {
if (e.which == 90) {
clearInterval(refreshIntervalId);
}
});
香草 JS:
var keyEvent = function (e) {
if (e.which == 90) {
clearInterval(refreshIntervalId);
}
};
window.addEventListener('keypress', keyEvent);
相关文章:
- 使用javascript为web应用程序自定义键盘快捷键
- 如何在JavaScript中启动键盘快捷键函数
- 如何使用javascript触发键盘快捷键(ctrl+alt+R)
- 使用键盘快捷键将文件上传到HTML5页面
- 适用于 Web 应用程序的可用键盘快捷键
- 有没有一种方法可以阻止IE中键盘快捷键的传播
- jQuery网站的键盘快捷键,焦点使用左键和右键转到上一个或下一个元素
- 是否有“”的键盘快捷键;暂停动画”;Chrome开发工具中的功能?(F12)
- 禁用浏览器快捷键
- 当文本字段或文本区域使用纯JavaScript聚焦时,禁用键盘快捷键
- 允许使用键盘快捷键,同时限制iframe中的字符
- Chrome扩展允许的键盘快捷键
- AppJs 键盘快捷键(复制、粘贴、剪贴板、退出、全选...
- tinyMCE:如何添加快捷键Ctrl + Enter
- 覆盖浏览器中的快捷键
- 如何通过键盘快捷键访问菜单
- 在用户脚本中覆盖 Chrome 键盘快捷键
- javascript快捷键/停止间隔功能
- 如何禁用浏览器快捷键ctrl-N并在按下ctrl-N时触发功能?JS提琴添加
- 禁用谷歌浏览器中的Alt功能(快捷键)