по 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"
}

}); 

Тогда как я узнаю, что я нажимаю на флажок или переключатель

любая помощь будет оценена

Ответ 1

.nodeName дает тэг html поэтому вам нужно использовать .type для получения типа узла.

Попробуй это:

console.log(event.target.type);

демонстрация

Ответ 2

Для тех, кто ищет чистый JavaScript-метод, event.target.tagName.

Это свойство представляет собой прописную строку типа элемента, например "A", "UL", "LI" и т.д.

Ответ 3

console.log($(event.target).is(':radio'));
console.log($(event.target).is('[type="radio"]'));

Ответ 4

вы можете использовать event.target.getAttribute('type') вместо этого

Ответ 5

Попробуйте использовать 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
});

Ответ 6

вы можете использовать

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
   }

}