モノワスレ

ブログに書いて忘れましょう

jQuery live は、jQuery1.9 では使えません。

背景

jQuery1.9 触っていたら動いてないところがあったので。
http://jquery.com/upgrade-guide/1.9/#live-removed

変更内容

liveメソッドなんてありませんよ。(not found)と言われる。

  $('a[data-method="delete"]').live('ajax:success', function(e, data, status, xhr) {
    console.log(data.post.id);
  });

on(method, selector, function) で書きなおす。
functionの引数の中身はそのまま変わっていなかった。

  $(document).on('ajax:success', 'a[data-method="delete"]', function(e, data, status, xhr) {
    console.log(data.post.id);
  });