Как я могу отделить все значки в элементе div?
В принципе, внутри div, у меня есть 4 вещи, которые нужно щелкнуть. Последнее было сделано для ссылки на весь щелчок элемента элемента. Средние элементы предназначались для конкретных щелчков значков. Но теперь, для конкретных щелчков значков, я хочу, чтобы клики подключались к их собственным ссылкам. Например, если один клик github png, он должен перейти к ссылке github, но теперь ссылка google Google перезаписывает его. Для того, что я нажимаю, я подключаюсь только к одной ссылке, которую я не намерен.
благодаря
<script type="text/javascript">
$(document).ready(function(){
$(".Apps").click(function(){
window.open($(this).find("a").last().attr("href"));
return false;
});
});
</script>
<div class="Apps">
<p><b>Web Dev Project 3</b><br><i>(coming soon)</i></p>
<a href="https://github.com/" target="blank">
<img src="https://github.com/apple-touch-icon-114.png" width="30" height="30"/></a>
<a href="http://google.com" target="blank">
<img id="logo" src="http://cclub.slc.engr.wisc.edu/images/Under-Construction.gif" width="30" height="30"/></a>
<a href="http://google.com" target="blank"></a>
</div>
Исключить анкеры:
$(".Apps").click(function(e){
if (! $(e.target).closest('a').length ) {
window.open($(this).find("a").last().attr("href"));
return false;
}
});
На самом деле нет такой концепции, как <a>
, связанной с "содержащим элементом. Вместо этого, почему бы не просто "щелкнуть" события на <div>
и отфильтровать те, которые не находятся на значках:
$('div.Apps').on("click", ":not(a img)", function() {
window.location = "http://google.com";
});
То, как делается ваша разметка, трудно сказать, как будет область экрана, а не иконки внутри контейнера, но, вероятно, у вас есть отступы/поля или что-то в этом роде.
Если бы я был вами, я бы назначил разные идентификаторы для div и ссылки, а затем в определенных инструкциях по ссылке просто запретил поведение клика по умолчанию;
$(´#aLinkId´).on(´click´, function(){
event.preventDefault();
event.stopPropagation();
window.open(whatever here);
});
$(´#aDivId´).on(´click´, function(){
window.open(other whatever here);
});
Я это, что вы ищете?
http://jsfiddle.net/gespinha/WPsbb/2/
$(document).ready(function () {
$(".Apps").click(function () {
window.open($(this).find("a").last().attr("href"));
return false;
});
$(".Apps > a").click(function () {
window.open($(this).attr("href"));
return false;
});
});
<a>
занимает места на экране, поэтому его нельзя щелкнуть.