Как сделать div кликабельным, используя внутренний href, но не переопределять другие внутренние hrefs - PullRequest
0 голосов
/ 20 февраля 2010

У меня есть div с 3 внутренними hrefs.Мне нужно сделать div активируемым, чтобы он наследовал один из внутренних hrefs.Не проблема ... однако это заставляет 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>

Итак ... есть идеи?:)

Ответы [ 2 ]

0 голосов
/ 20 февраля 2010

Попробуйте убить распространение события от ваших якорей

$("a.single").click(function(event){
  event.stopPropagation();
});
0 голосов
/ 20 февраля 2010

попробуйте установить z-index для div на 999, а z-index для ссылок в div на -1.

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

Это опустит btns div на нижнюю часть стека элементов, одновременно поднимая ссылки на верхнюю часть.Таким образом, теоретически, если вы щелкаете в пределах границ элемента ссылки, вы запускаете событие click, а при щелчке в любом другом месте в div вы запускаете событие click.Пожалуйста, дайте мне знать, работает ли это.

...