HTML按钮的作用类似于从键盘按下的键,并在某些对象或整个网站上起作用
HTML button act like key pressed from keyboard, and function on certain object or entire website
按钮应如下所示:回车键、箭头键、空格键...已经尝试了一些例子。这是其中之一:
var e = $.Event("keydown", { keyCode: 8});
$("#target").keypress();
首先,不会为非打印键触发 keypress
事件,因此箭头键不适用于.keypress()
。
来自 jQuery 文档:
当浏览器注册键盘输入时,
keypress
事件将发送到元素。这与keydown
事件类似,不同之处在于修饰符和非打印键(如 Shift、Esc 和 delete)会触发keydown
事件,但不触发keypress
事件。根据平台和浏览器的不同,这两个事件之间可能会出现其他差异。
相反,您可能希望使用 .keydown()
或 .keyup()
.但是,与其尝试在单击按钮时触发keydown
或keyup
事件,为什么不编写一个函数来执行您想要的操作,并在按下键或单击按钮时调用该函数呢?
例如,假设您希望在按下左键或左键按钮时字符向左移动,则可以编写以下函数:
var moveLeft = function() {
alert('Moving character left one position');
};
然后,您可以在按下左键或单击左键时调用该函数。
$('#left-btn').click(moveLeft);
$('body').keydown(function(e) {
if (e.keyCode == 37) {
moveLeft();
}
});
工作示例:
单击向左或向右按钮或按向左或向右箭头键时检查浏览器的 JavaScript 控制台。
$(document).ready(function() {
var moveLeft = function() {
console.log('Moving left!');
};
var moveRight = function() {
console.log('Moving right!');
};
$('body').keydown(function(e) {
switch (e.keyCode) {
case 37:
moveLeft();
break;
case 39:
moveRight();
break;
}
});
$('#left-btn').click(moveLeft);
$('#right-btn').click(moveRight);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<button id="left-btn">←</button>
<button id="right-btn">→</button>
</div>
相关文章:
- 面向对象的Javascript代码在IE7中不起作用
- JQuery示例不起作用-“;对象没有't支持属性或方法'按钮'&”;
- 对象文字方法上的Javascript绑定不起作用
- 带有普通对象的Ember.js查找不起作用
- 在SVG中创建带有外来对象的文本区域的Javascript不起作用
- HTML按钮的作用类似于从键盘按下的键,并在某些对象或整个网站上起作用
- 函数中的 angularJS 访问对象属性不起作用
- JavaScript参数对象不起作用
- 当图像和链接是 json 对象属性的值时,它们不起作用
- 此 JavaScript 对象中定义的值是否实际起作用
- JavaScript Audio 对象在 Android API 19 中不起作用
- 为什么从 Angular 服务中的对象中删除此元素不起作用
- jQuery父对象(“tr”)淡出不起作用
- 将JSON对象转换为敲除observable在IE8中不起作用,但在所有其他浏览器中都起作用
- Javascript敲除绑定嵌套对象不起作用
- 映射 jQuery 对象的数组不起作用
- 对象原型在Canvas Game中不起作用
- AngularJS-对象分配不起作用
- $.getJSON没有'不起作用,但在脚本中包含JSON对象起作用
- 在函数内部生成的对象不起作用,但是传入的对象起作用