0

私は3つの内部hrefを持つdivを持っています。divをクリック可能にして、内部hrefの1つを継承させる必要があります。問題ありません...しかし、これにより、JSはdiv内の他のリンク、つまり親divに継承していないリンクを上書きします。これが私のコードです:

<script>
$(document).ready(function(){   
$("#Products div.product").click(function(){
    window.location=$(this).find("a.product_link").attr("href"); return false;
    }
);
</script>
<div class="product">
<div class="icon">
<a href="/training/programme/fire-awareness-in-the-workplace" class="product_link" title="Fire Awareness in the Workplace"><img src="/assets/public/btn_FA_icon.gif" alt="image" width="70" height="70" /></a>
</div>
<div class="summary">
<h2>Fire Awareness in the Workplace</h2>
<p>All staff must complete fire awareness training - this excellent programme is all you need to train your employees at minimum cost and disruption.</p>
</div>
<div class="btns">
<a href="/purchase/single/FA" class="single" title="Buy Now...">Buy Now...</a>
<a href="/training/preview/FA" class="single" title="Free Trial...">Free Trial...</a>
</div>
</div>

だから...何かアイデアはありますか?:)

4

2 に答える 2

0

divのz-indexを999に設定し、div内のリンクのz-indexを-1に設定してみてください。

.btns{z-index:999;}
.btns a{z-index:-1;}

これにより、btns divが要素スタックの一番下に沈み、リンクが一番上に上がります。このように、理論的には、リンクの要素境界内をクリックすると、クリックイベントがトリガーされ、div内の他の場所をクリックすると、クリックイベントがトリガーされます。これが機能するかどうか教えてください。

于 2010-02-19T21:55:22.610 に答える
0

アンカーからのイベントの伝播を殺してみてください

$("a.single").click(function(event){
  event.stopPropagation();
});
于 2010-02-19T21:57:44.847 に答える