Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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
Events jQuery-检测是否按下了按钮_Events_Jquery - Fatal编程技术网

Events jQuery-检测是否按下了按钮

Events jQuery-检测是否按下了按钮,events,jquery,Events,Jquery,你必须原谅我在这里问了一个有点琐碎的问题,但我通常很好奇是否有更好的方法来检测按钮是否被按下。我猜这也适用于锚定标签 目前我有两个提交按钮(因此我不能使用$(表单)。在这种情况下,提交),这两个按钮在激活时都会更改另一个字段: <button id="accept" type="submit">Accept</button> <button id="decline" type="submit">Decline</button> 我想最重要的是,我

你必须原谅我在这里问了一个有点琐碎的问题,但我通常很好奇是否有更好的方法来检测按钮是否被按下。我猜这也适用于锚定标签

目前我有两个提交按钮(因此我不能使用
$(表单)。在这种情况下,提交
),这两个按钮在激活时都会更改另一个字段:

<button id="accept" type="submit">Accept</button>
<button id="decline" type="submit">Decline</button>
我想最重要的是,我想知道是否有一种方法可以简化这段代码,因为它相当麻烦,特别是如果有大量的处理(你可以创建一个函数,但这是另一个步骤),而且由于jQuery似乎涵盖了大部分内容,我很惊讶在浏览互联网之后,我找不到更干净的解决方案

(有了上面的内容,我担心其他模仿按钮按下的方式,比如敲击空格,尽管这似乎已经涵盖了!)


谢谢

我想我理解你的问题,在这个相关的话题中可能会有一些优先权

此方法避免向每个按钮添加.click()事件,尽管这可能是应用程序的可行选项

希望这有帮助!
梅森

我想我理解你的问题,在这个相关的话题中可能有一些优先权

此方法避免向每个按钮添加.click()事件,尽管这可能是应用程序的可行选项

希望这有帮助!
梅森(Mason)

你可以这样做,让点击效果更好一点:(这里需要使用一个函数来获得更好的效果):


您可以这样做以使单击效果更好:(此处需要使用函数以获得更好的效果):

name=“decision”
value=“Accept”
/
value=“decision”
(相应地)添加到提交按钮

这样,您根本不需要javascript来处理此问题

如果“接受”按钮是第一个按钮,则在任何表单字段内按enter键也将触发该按钮

样本:

<form action="1.html" method="get">

<input type="text" name="in">

<button type="submit" name="decision" value="Accept">Accept</button>
<button type="submit" name="decision" value="Decline">Decline</button>

</form>

接受
减少
name=“decision”
value=“Accept”
/
value=“declient”
(相应地)添加到提交按钮

这样,您根本不需要javascript来处理此问题

如果“接受”按钮是第一个按钮,则在任何表单字段内按enter键也将触发该按钮

样本:

<form action="1.html" method="get">

<input type="text" name="in">

<button type="submit" name="decision" value="Accept">Accept</button>
<button type="submit" name="decision" value="Decline">Decline</button>

</form>

接受
减少

对于按钮元素,空格键和enter键都按在按钮上。你不应该做任何特殊的处理来处理这个问题

至于使用
$(form).submit()
,您可以。只需将按钮更改为不隐式提交表单即可:


如果需要,您可以在
$(event.target).text()上执行一些处理,以便在必要时使“拒绝”为null/emptystring。

对于按钮元素,空格键和enter键都按在按钮上。你不应该做任何特殊的处理来处理这个问题

至于使用
$(form).submit()
,您可以。只需将按钮更改为不隐式提交表单即可:


如果需要,您可以在
$(event.target).text()上进行一些处理,以便在必要时将“拒绝”设置为null/emptystring。

谢谢,这并不是我想要的,但它确实提供了一个非常好的替代解决方案!:-)谢谢,这并不是我想要的,但它确实提供了一个非常好的替代解决方案!:-)啊,我想一个函数可能是必要的,谢谢,但这段代码很好而且灵活!啊,我想一个函数可能是必要的,谢谢,但这段代码很好而且灵活!非常感谢,这是一个很好的解决方案,但不幸的是(正如前面关于另一个问题的讨论)由于我执行jQuery调用的方式,我确实需要隐藏函数非常感谢,这是一个很好的解决方案,但不幸的是(正如前面关于另一个问题的讨论)由于我执行jQuery调用的方式,我确实需要隐藏函数!我从来不知道,这也解释了为什么空格键会触发这个事件,谢谢!伟大的解决方案啊!我从来不知道,这也解释了为什么空格键会触发这个事件,谢谢!这也是一个很好的解决方案
<form action="1.html" method="get">

<input type="text" name="in">

<button type="submit" name="decision" value="Accept">Accept</button>
<button type="submit" name="decision" value="Decline">Decline</button>

</form>
<button type="button" id="...">...</button>
$('#accept,#decline').click(function(event){
    $('#decision').val($(event.target).text());
    $(form).submit();
}