ワイズリマインダー

異なる要素にクリックイベントを反映させる

div要素の中にaがある時、
aの範囲外のdiv要素もクリックさせたい時に
(灰色の部分)

div

$(function(){
  $('div').click(function(e){
    if($('a',$(this))[0]){
      e.preventDefault();
      if(e.ctrlKey || e.shiftKey){ window.open($('a',$(this)).attr('href')); }
      else{ location.href = $('a',$(this)).attr('href'); }
    }
  });
});

追記
他の場所でa.clickイベントを記述している場合
div領域をクリックしてもa.clickイベントは起こらないので注意

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください