【问题标题】:Detecting click on radio button + label:before检测点击单选按钮+标签:之前
【发布时间】:2014-04-06 06:41:34
【问题描述】:

我首先要承认 HTML 和 JavaScript 不是我的强项。

然而,这并没有阻止我创建这个:http://jsfiddle.net/asarkar/wuXrE/

问题是,我需要检测单选按钮上的点击并相应地更改文本框和按钮文本。

我开始意识到before 元素不是 DOM 的一部分,因此无法检测到对它们的点击。所以我死在水里了吗?

使用requireJS 2.1.11jQuery 2.1.0

【问题讨论】:

  • 你可以在jQuery中使用.prev()来找到previous element
  • 另外,您想在点击时更改什么?你能再澄清一点吗?
  • @tewathia 请将您的解决方案作为答案发布,以便我接受。另外,请参阅我对“adeneo”的后续问题。
  • @Luxelin 我没有关注。为什么我会找到以前的元素?我要做的就是检测要单击的单选按钮。要回答您关于我要更改什么的问题,它是文本框上的 placeholder 和按钮文本。选择get 应显示“URL”和“搜索”,而选择post 应分别显示“目录”和“索引”。我现在开始工作了。

标签: jquery html css pseudo-element


【解决方案1】:

您应该为单选按钮使用 change 事件,而不是 click 事件。
change 事件在单选按钮更改时触发,无论是什么更改、键盘交互、单击标签等。

另外两个单选按钮都有 ID,ID 通常是在 DOM 中查找速度最快的选择器,并且比非标准的伪选择器更受欢迎。

$('#get, #post').on('change', function() {

});

FIDDLE

【讨论】:

  • 谢谢,它有效。我更喜欢@tewathia 的答案,因为它需要更少的输入,否则两个答案是等效的。另外,有没有办法增加表示选中单选按钮的“白点”的大小?
猜你喜欢
  • 2010-12-04
  • 1970-01-01
  • 1970-01-01
  • 2013-07-15
  • 2016-05-21
  • 1970-01-01
  • 2023-04-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多