LoginSignup
38
27

More than 5 years have passed since last update.

jQueryで.changeメソッドが効かなくて困ったこと

Posted at

jQueryのchangeメソッドが効かない!

input type="file"に画像を入れたときのイベントをとりたかったので軽い気持ちでchangeメソッドを使ったら効かなかった・・

jquery.js

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

 解決策

jquery.js

$(document).on('change', 'input[type="file"]', function() {
});

onメソッドを使ってchangeのイベントをとる

changeメソッドと.on('change')の違い

changeメソッドは元々のHTML要素に対して有効
on('change', '子要素')はjavascriptで変更された後のHTMLにも有効

理由

onメソッドでchangeを指定してあげたほうが便利くらいの認識だったが、今回はonとclickメソッドの違いによってイベントがとることができなかった。

今回はこの記述の前にページを読み込んだ時にjQueryの記述によってHTMLを編集していたので、変更されたHTMLになり、changeメソッドが効かなかった。

38
27
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
38
27