【问题标题】:jQuery onChange doesn't trigger when you clear input[type=file] value [duplicate]当您清除输入 [type=file] 值 [重复] 时,jQuery onChange 不会触发
【发布时间】:2019-03-19 15:26:54
【问题描述】:

当文件改变或者我们清除文件输入时需要做一个操作。

$('input[type="file"]').change(function (e) {
       console.log('changed')
});

当我选择/更改文件时它可以工作。

当我清除输入[type=file]时它不会触发更改事件。

$('input[type="file"]').val('');

清除值会触发更改事件吗?或者有什么更好的方法?

【问题讨论】:

  • 如果你像上面的例子一样以编程方式清除值,你可以调用 $('input[type="file"]').trigger("change");在该值被清除之后。
  • 或者更好的是,直接调用change回调。
  • @Asyranok 是的,这可以做到。那么清除输入不会触发更改事件?需要显式触发 'change' 事件。对吗?

标签: javascript jquery html


【解决方案1】:

你可以强制触发事件变化

 $('input[type="file"]').val('').trigger('change');

【讨论】:

  • @ejaz 这个班轮适合你吗?
  • @BhojendraRauniyar 是的,它有效。我发现它val('') 不会触发“更改”事件。必须通过$('input[type="file"]').val('').trigger('change');$('input[type="file"]').val('').change();触发事件
  • @ejaz 啊,谢谢你告诉我。我有别的想法。
猜你喜欢
  • 2020-05-22
  • 2021-09-26
  • 1970-01-01
  • 2010-11-05
  • 1970-01-01
  • 1970-01-01
  • 2014-11-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多