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