Jquery 如何拒绝对特殊项目触发事件

Jquery 如何拒绝对特殊项目触发事件,jquery,Jquery,我有一个带有一些输入的div。现在,每当我的输入发生变化时,我都要触发事件。到目前为止,一切都很好:)但如果我用第一次输入选择了一个文件,我不希望引发事件 这是来源 HTML: 我已经用:not(…)尝试了一些构造,但没有结果:/使用和尝试此构造 这样,jQuery将查找所有输入,但不查找第一个::not(:first) 您还可以通过在 比如: 添加:not和:first $('.someForm input:not(":first")').on('change', function(){

我有一个带有一些输入的div。现在,每当我的输入发生变化时,我都要触发事件。到目前为止,一切都很好:)但如果我用第一次输入选择了一个文件,我不希望引发事件

这是来源

HTML:

我已经用:not(…)尝试了一些构造,但没有结果:/

使用和尝试此构造

这样,jQuery将查找所有输入,但不查找第一个:
:not(:first)


您还可以通过在

比如:


添加
:not
:first

$('.someForm input:not(":first")').on('change', function(){

您可以在
.on()
中添加一个选择器作为第二个参数,以排除
type='file'
的输入:

$('.someForm').on('change', ':input[type!="file"]', function() {
    alert('changed');
});

您可以按如下方式更改选择器:

$('.someForm :not(:file)').on('change', function() {
    alert('changed');
});

您可以使用
e.target.className

$('.someForm').on('change', function(e){
    if (e.target.className != 'logoselector') {
        alert('changed');
    }
});

它是好的,但在我的例子中,如果元素不固定就更好了:)那么:not(:file)对我来说是好的,你说的“isnotfix”是什么意思?@j08691:不是OP,但我假设他指的是位置不固定。就像在中一样,它可以在页面上移动,而不仅仅是第一个元素。是的,@ColinDeClue是对的:)有可能该项不是第一个,所以输入:not(:file)是完美的:D我有一些类似的输入:not(.className)但不起作用:DDid你尝试了“demon”?:-)我这边的Chrome、FF和Safari正在开发中。
$('.someForm input:not(":first")').on('change', function(){
$('.someForm').on('change', ':input[type!="file"]', function() {
    alert('changed');
});
$('.someForm :not(:file)').on('change', function() {
    alert('changed');
});
$('.someForm').on('change', function(e){
    if (e.target.className != 'logoselector') {
        alert('changed');
    }
});