0

我想知道哪个元素已被单击或键入。如下所示:

$('button, input').on('click keyup', function() {

    var self = $(this);

    if (self == button)
        ...
    else if (self == input)
        ...

};

我不能这样做self.attr('name') == 'something',因为按钮没有名称属性。

4

2 回答 2

1
if ($(this).is('button')) {
} else if ($(this).is('input')) {
}

恶意的意思是

if ($(this).prop('tagName')=='BUTTON'){
} else if ($(this).prop('tagName')=='INPUT') {
}

虽然我会使用开关,因为它更整洁

switch ($(this).prop('tagName')){
    case 'BUTTON':
        //do stuff
    break;
    case 'INPUT':
        //do stuff
    break;
}
于 2013-02-02T00:24:22.780 回答
0

如果您想区分它是输入还是按钮标签,您可以使用

$(this).prop("tagName")
于 2013-02-02T00:14:34.387 回答