二次曲线:替换鼠标单击的键盘笔划
Quadratics: Replace Keyboard stroke for Mouse clicks
我对Javascript不太了解。我希望有人能简单地解释一下编辑以下代码的过程。
this.hideNextButton();
this.hidePreviousButton();
var that = this;
Event.observe(document, 'keydown', function keydownCallback(e) {
var choiceID = null;
switch (e.keyCode) {
case 74: // 'j' was pressed
choiceID = 1;
break;
case 75: // 'k' was pressed
choiceID = 2;
break;
}
if (choiceID) {
Event.stopObserving(document, 'keydown', keydownCallback);
that.setChoiceValue(choiceID, true);
that.clickNextButton();
}
});
如果用户想用点击键盘上的字母来代替鼠标的点击,例如点击J来选择下一个问题,或者选择是,点击a
任何帮助或指向正确的方向都是帮助!
在您提供的代码中,按"j"或"k"通过设置选项值回答当前问题,然后转到下一页。要添加其他键盘按键,您需要使用适当的键代码为开关添加额外的大小写。例如,如果你想让"j"转到下一页,让"a"回答"是",它会是这样的(删除if(choiceID)部分):
Event.observe(document, 'keydown', function keydownCallback(e) {
switch (e.keyCode) {
case 65: // 'a' was pressed
that.setChoiceValue(1, true);
break;
case 74: // 'j' was pressed
Event.stopObserving(document, 'keydown', keydownCallback);
that.clickNextButton();
}
});
您需要跟踪指向元素,并在按键j
时调用指向元素的点击事件。
var pointedElement;
document.onmousemove = function(e) {
pointedElement = e.srcElement;
}
document.onkeydown = function(e) {
switch (e.keyCode) {
case 74: // 'j' was pressed
pointedElement.click()
break;
}
}
编辑:我的答案只是想用另一个键更改整个窗口中的点击元素,但在您的情况下则不同。我不能仅仅通过查看这个片段来帮助您,但您需要使用相同的按钮功能来更改切换大小写块。这些按钮到底在干什么?您需要调用下一个和上一个键正在处理的相同功能。
相关文章:
- 单击鼠标,用MySQL数据填充html表单输入字段
- 如何防止用户使用javascript或jquery在链接中单击鼠标中键
- 单击鼠标时如何停止重复功能
- 单击鼠标在画布上绘制一个实心圆
- Jquery检测“;输入“;按键而不是单击鼠标
- 在YouTube视频上单击鼠标静音/取消静音
- 按下esc键或随机单击鼠标时,Jcrop失去焦点
- jquery键并单击鼠标
- 在边界外单击鼠标关闭弹出框
- 尝试在画布中单击鼠标以添加图像
- 如何避免在浏览器 JavaScript 中双击时(单击鼠标)处理
- 在 Firefox 中单击鼠标时无法选择所有输入元素文本
- 在淘汰赛中更改 css 类.js单击鼠标
- 在单击时对元素进行动画处理,并在该元素和其他元素上单击鼠标输入/鼠标离开
- 在jquery中单击鼠标
- 如何在网页上单击鼠标或鼠标悬停时播放部分音频文件
- 我的 js 函数在第二次单击鼠标后被调用
- 单击鼠标时文本输入更改类
- 有没有办法模拟每次单击鼠标左键时按 Ctrl 键
- 如何使用 Raphael.js 在每次单击鼠标时触发旋转动画