特定のリンクに移動するときに、何かイベントを仕掛けることは出来ないだろうか。
例で言えば、正しく下のサイトのようにFBでページを離脱するときに現れるこのダイアログだろう。
例えば、以下のようなサイトだと、こんな風にコードを書けばいいことになってる。
ページを移動(離脱)するときにjQueryで警告を出す方法: 小粋空間
$(function(){ $(window).on('beforeunload', function() { return '投稿が完了していません。このまま移動しますか?'; }); });
これを改変して、
$(function(){ $('a.hoge').click(function() { $(window).on('beforeunload', function() { $('a.hoge').css('background', 'red'); }); }); });
とかやると、ページ移動前に何かしらの処理をやってくれるわけだけれども、
残念なことにこのコードは、Operaだと動かない。
なんてこった。どうしようかね。ってことで、代わりにlocation.hrefを使うことにした。
$(function(){ $("a.hoge").click(function() { $('a.hoge').css('background', 'red'); setTimeout(function() { window.location.href = 'リンクのURL'; }, 300); }); });
こんな風に書けば、hogeクラスのaタグをクリックすると、なんかイベントを実行した後に、
リンクのURLに飛んでくれるんだ。