<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"
}
});
那我怎么知道我点击复选框或单选按钮
任何帮助将不胜感激
答案 0 :(得分:44)
答案 1 :(得分:22)
对于那些寻找纯JavaScript方式的人来说,它是event.target.tagName
。
该属性是元素类型的大写字符串,如“A”,“UL”,“LI”等。
答案 2 :(得分:5)
console.log($(event.target).is(':radio'));
console.log($(event.target).is('[type="radio"]'));
答案 3 :(得分:0)
您可以使用event.target.getAttribute('type')
代替
答案 4 :(得分:0)
尝试使用attr()之类的,
console.log($(this).attr('type'));// checkbox or radio
<强>代码强>
$('input[type="checkbox"],input[type="radio"]').on("change", function (event) {
console.log($(this).prop('tagName'));// INPUT
console.log($(this).attr('type'));// checkbox or radio
});
答案 5 :(得分:0)
你可以使用
function test(e)
{
var eve = e || window.event;
var ele = eve.target || eve.srcElement;
switch(ele.getAttribute('type'))
{
case "radio" : //do whatever
case "checkbox" : //do
}
}
答案 6 :(得分:0)
对于使用jQuery的节点类型,您可以使用:
$("SELECTOR").click(function (event) { var idEventTarget = $(event.target).attr('id'); console.log($(event.target).attr('type')); console.log(event.target.type); });