首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >按键事件与单击事件

按键事件与单击事件
EN

Stack Overflow用户
提问于 2017-01-03 17:00:19
回答 2查看 2.8K关注 0票数 0

我的眼睛被摧毁了,所以这个问题将是特定于键盘事件。

当我为按钮的单击事件定义一个处理程序时,如下所示:

代码语言:javascript
运行
复制
$("#button").on("click", function() {
    alert("clicked");
});

由于我不能使用鼠标(我认为大多数web应用程序都使用单击事件来执行html元素),所以我通过转到按钮并按enter来测试这个事件。事件已成功启动。从那时起,我开始相信按enter键可以将click事件模拟为html元素。我已经执行了很多次提交按钮,所以没有理由相信情况并非如此。

现在,我正在创建一个文本框,该文本框在访问时需要填充一个值。所以我做了这个:

代码语言:javascript
运行
复制
$("#text").on("click", function() {
    alert("clicked");
});

但是,按回车不再工作,就不会出现任何值。但是,当其他人使用鼠标单击元素时,事件就会成功触发。

下面是我正在编写的代码:

我正在使用jquery的自动完成。我希望当用户进入文本框时填充文本框。我按回车进去..。

代码语言:javascript
运行
复制
$( "#tags" ).autocomplete({
    source: names,
    minLength: 0,
    select: function( event, ui ) {
        var index = names.indexOf($(this).prop("value"));
        $(this).val("");
        $("#selected").append("<li>"+names[index]+
        "<input type='hidden' id='id' value='"+ids[index]+"'/>"+
        "<a href=''>remove</a></li>");
        ids.splice(index, 1);
        names.splice(index, 1);
        return false;
    }
}).on("click", function(event) {
    $(this).autocomplete("search", $(this).val());
});

按enter和鼠标单击真的有区别吗?我该怎么办?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-03 17:09:07

捕捉按键事件并测试'enter‘是处理这个问题的最好方法。按钮在enter上执行时没有这样做的原因是因为它们的类型是'submit‘。

票数 1
EN

Stack Overflow用户

发布于 2017-01-04 00:57:34

基本上,在编辑框上启动onClick并不是一个好主意,因为如果不付出更多的努力,就不会有其他的键盘选择。

因为你像我一样瞎了眼(我从你的问题中猜到这一点),你可能是在使用屏幕阅读软件。在屏幕阅读器中,Enter通常模拟鼠标单击,但是。但是,Windows的JAWS增加了更多的灵活性,允许您在按Enter键时调整操作:模拟鼠标单击或将Enter发送到系统。

因此,在您的情况下,我会创建一个按钮来触发您的onClick事件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41448607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档