通过 event.target,我怎么知道它是复选框还是单选框?

新手上路,请多包涵

在我的 html 中:

 <input type="checkbox" name="select">

<input type="radio" name="select">

由于某些逻辑原因,将属性命名为相同

在我的 JS

我写下面的代码:

 $('input[type="checkbox"],input[type="radio"]').on("change",function(event){
    console.log(event.target.nodename);
    // on both cases it show "INPUT"
    }

    });

我怎么知道我点击了复选框或单选按钮?

原文由 Rituraj ratan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 381
2 个回答

.nodeName 给出了 html 使用的标签,所以你必须使用 .type 来获取节点的类型。

试试这个:

 console.log(event.target.type);

演示

原文由 Jai 发布,翻译遵循 CC BY-SA 3.0 许可协议

对于那些寻找纯 JavaScript 方式的人来说,它是 event.target.tagName

该属性是元素类型的大写字符串,如“A”、“UL”、“LI”等。

原文由 Jamey 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题