• ベストアンサー

click範囲の指定

jQuery1.52を使用しています。 <div id="1">1111<div id="2">111</div></div> /*CSS*/ #1{padding:50px;} 例としてこういうhtmlがあった場合で、 $("#1").click(function(){ $("#2").css("display","none"); }); #1をクリックした場合、ただし#2と重ならない範囲で、 (#1の文字やパディング範囲では効果ありとして、#2の範囲では効果を除外したい) という指定を行いたいのですが、記述方法が検討がつきません。 これはどのようにしたらよいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • think49
  • ベストアンサー率59% (285/482)
回答No.2

内容としては #1 の方と同じですが、やや効率化してます。 jQuery は event オブジェクトを書き換えてくれるので event.srcElement の処理を考えなくてすみます。 jQuery("#sample1").click(function (event) {  if (event.target.id !== 'sample2') {   jQuery("#sample2").css("display","none");  } });

picicate
質問者

お礼

遅くなってすいません! ありがとうございました。

その他の回答 (1)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

クリックされたのが#2だったら、処理しないというふうにすればよさそう。 (idは数字から始まるのは書式にあってないので、以下の例ではd1、d2に変えています) $("#d1").click(function(evt){  var t = evt.target || src.Element;  if(t.id != "d2")   $("#d2").css("display","none"); });

picicate
質問者

お礼

遅くなってすいません! ありがとうございました。

関連するQ&A