首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以使用Javascript和/或CSS使用户从元素中单击?

是否可以使用Javascript和/或CSS使用户从元素中单击?
EN

Stack Overflow用户
提问于 2015-10-12 15:01:23
回答 3查看 107关注 0票数 1

我在做一个由箭头键控制的游戏。你可以看到它,这里

我注意到的一个用户体验问题是,如果用户点击一个“设定速度”按钮来改变蛇的速度,那么当他们试图用箭头键上下移动蛇时,因为他们仍然在“设定速度”单选按钮框中点击,它所做的就是通过单选按钮来切换。如果可能的话,我希望一旦他们点击一个“设定速度”按钮,他们被点击出盒子,所以他们的箭头键控制蛇的运动。“设置速度”框的事件侦听器是

代码语言:javascript
复制
$('#speed-form input[type="radio"]').click(function ( )
{
    SG.setSpeed($(this).val());
});

我想知道是否有一行或2,我可以添加到点击用户出#speed-form

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-10-12 15:20:17

尝试在发生单击时捕捉事件,访问目标元素(输入单选按钮),并调用元素的blur()方法:

代码语言:javascript
复制
$('#speed-form input[type="radio"]').click(function (event)
{
    $(event.target).blur()
    SG.setSpeed($(this).val());
});

在帮助下:在JavaScript中有任何方法来聚焦文档(内容区域)吗?

票数 4
EN

Stack Overflow用户

发布于 2015-10-12 15:30:57

编辑:看起来我的反应有点慢,几乎和另一个一样。我会留下这个声音,因为我不能留下评论。我会用斜体字表示唯一的区别。

这应该可以从无线电按钮上移除焦点。如果这不起作用,您可能必须将焦点放在包含游戏的对象上。

代码语言:javascript
复制
$('#speed-form input[type="radio"]').click(function ( )
{    
    SG.setSpeed($(this).val());
    $(this).blur();
});
票数 2
EN

Stack Overflow用户

发布于 2015-10-12 15:10:32

首先,你的问题更多的是与HTML有关,而不是JavaScript或任何东西。在HTML label元素中,展开,单击checkboxradiobutton的区域。

您的HTML如下所示。

代码语言:javascript
复制
<tr>
    <td>
        <input type="radio" name="speed" value="slow">
    </td>
    <td align="left">Slow</td>
</tr>

如果你这样改变,你可以得到一个工作的。

代码语言:javascript
复制
<tr>
    <td>
        <input type="radio" name="speed" value="slow" id="Slow">
    </td>
    <td align="left"><label for="Slow">Slow</label></td>
</tr>

如果选择此方法,则必须将JavaScript代码更改为下面的代码。

代码语言:javascript
复制
$('#speed-form input[type="radio"]').change( function () {

    if ( $(this).prop("checked") )
        SG.setSpeed( $(this).val() );

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

https://stackoverflow.com/questions/33084299

复制
相关文章

相似问题

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