Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript和/或CSS是否可以让用户单击某个元素?_Javascript_Jquery_Html_Css_User Experience - Fatal编程技术网

使用Javascript和/或CSS是否可以让用户单击某个元素?

使用Javascript和/或CSS是否可以让用户单击某个元素?,javascript,jquery,html,css,user-experience,Javascript,Jquery,Html,Css,User Experience,我正在制作一个由箭头键控制的游戏。你可以看到 我注意到的一个用户体验问题是,如果用户单击“设置速度”按钮来更改蛇的速度,那么当他们尝试使用箭头键向上或向下移动蛇时,因为他们仍然在“设置速度”单选按钮框中单击,所以所做的只是通过单选按钮切换。如果可能的话,我希望一旦他们点击一个“设置速度”按钮,他们就会被点击出框,这样他们的箭头键就能控制蛇的移动。“设置速度”框的事件侦听器为 我想知道是否有一行或两行我可以添加来点击#speed form中的用户。首先,你的问题与HTML的关系比JavaScrip

我正在制作一个由箭头键控制的游戏。你可以看到

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


我想知道是否有一行或两行我可以添加来点击
#speed form

中的用户。首先,你的问题与HTML的关系比JavaScript或任何东西都重要。在HTML
label
element中,展开
复选框的单击区域
单选按钮

您的HTML如下所示

<tr>
    <td>
        <input type="radio" name="speed" value="slow">
    </td>
    <td align="left">Slow</td>
</tr>

首先,你的问题与HTML有关,而不是与JavaScript或任何东西有关。在HTML
label
element中,展开
复选框的单击区域
单选按钮

您的HTML如下所示

<tr>
    <td>
        <input type="radio" name="speed" value="slow">
    </td>
    <td align="left">Slow</td>
</tr>

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


借助以下帮助:

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


在以下人员的帮助下:

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

这将从radiobutton上移除焦点。如果这不起作用,您可能必须将焦点设置在包含游戏的对象上


编辑:看起来我的反应有点慢,和另一个差不多。我会留下这个消息,因为我不能对它发表评论。我将用斜体字表示唯一的区别

这将从radiobutton上移除焦点。如果这不起作用,您可能必须将焦点设置在包含游戏的对象上


Knuth博士,如果你能发布相关的HTML代码,那会有很大帮助。你有没有尝试过
blur()
?我想你想要的是
otherelement.focus()
(比如:
snakegame.focus()
或其他什么东西,但是如果没有真正的HTML,这很难说)让它重新获得焦点。我知道它可以在窗口上运行,但我没有在元素上尝试过。如果你能发布相关的HTML代码,那会有很大帮助,Knuth博士。你有没有尝试过
blur()
?我想你想要的是
otherelement.focus()
(比如:
snakegame.focus()
或其他什么,但是没有真正的HTML很难说)让它重新聚焦。我知道它可以在窗口上工作,但我还没有在元素上尝试过。这可能很方便,但我认为它不能解决OP的单选按钮对焦问题。@Fievelyatsen是的,你是对的。我将所需的JavaScript编辑添加到我的答案中。这可能很方便,但我认为它无法解决OP单选按钮聚焦的问题。@FievelYaltsen是的,你是对的。我在回答中添加了所需的JavaScript编辑。我更喜欢你的语法。它更干净。:-)我更喜欢你的语法。它更干净。:-)
<tr>
    <td>
        <input type="radio" name="speed" value="slow" id="Slow">
    </td>
    <td align="left"><label for="Slow">Slow</label></td>
</tr>
$('#speed-form input[type="radio"]').change( function () {

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

});
$('#speed-form input[type="radio"]').click(function (event)
{
    $(event.target).blur()
    SG.setSpeed($(this).val());
});
$('#speed-form input[type="radio"]').click(function ( )
{    
    SG.setSpeed($(this).val());
    $(this).blur();
});