javascript - 为什么我需要额外的屏幕点击来隐藏元素?

标签 javascript jquery html

我正在尝试使用 jQuery .hide() 方法隐藏一个元素。

当激活的单选按钮被选中时,一个元素应该隐藏。问题是当我选择事件按钮时没有任何反应,但是之后当我点击屏幕上的任意位置时该元素被隐藏。

我已经把代码上传到jsfiddle,找到了here .

任何人都可以帮助我理解为什么会发生这种情况以及如何解决它吗?

最佳答案

您最终需要在单击单选按钮后再次单击屏幕,因为这是唯一一次运行隐藏/显示逻辑。

如评论中所述,使用 change事件。

$(".btn-group input").change(function(){
  if($("[name='different_price']:checked").attr('id')=='different_price_a'){
    $("#pricing_col").hide("slow");
  }
  else {
    $("#pricing_col").show("slow");
  }
});

我对这个版本的 fiddle 做了同样的更新:https://jsfiddle.net/nvq873u5/29/

关于javascript - 为什么我需要额外的屏幕点击来隐藏元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51432314/

相关文章:

javascript如何从tbody表中删除加载gif

html - 如何包含 css 父编号 html?

javascript - 如何在调用此类的构造函数时创建 ES6 类的对象数组?

javascript - 为什么来自字符串的 Javascript 日期与来自 Date 对象的相同日期不同

javascript - jQuery inArray 没有检测到相同的单词

javascript - fancybox 的回调

jquery - 如何计算渲染部分中的循环?

javascript - 单击后显示并启动隐藏视频

html - Wordpress:从导航中删除元素符号

php - 如何在php中获取上传文件的完整路径?