Не переходите по ссылке на элемент блока, нажимая на ссылку внутри - PullRequest
1 голос
/ 05 октября 2010

У меня есть элемент LI со ссылкой и другие ссылки внутри.

Было бы что-то вроде этого:

JQuery:

$('li').click(function() {
   window.location = $(this).children('a.li-url').attr('href');
});

HTML:

<ul>
    <li>
        <a href="http://www.link.com" class="li-url"></a>
        <h1>Title</h1>
        Lorem ipsum dolor <a href="http://www.something.com">Something</a>. Etc, blah blah.
    </li>
</ul>​

Проблема в том, что когда я нажимаю на «что-то», он также загружает www.link.com (вы можете увидеть это, если вы нажмете Alt + щелкнуть ссылку на что-то. Он загрузит нечто на новой вкладке при загрузке ссылки). .com в вашей текущей вкладке.)

Мне нужно ТОЛЬКО загружать что-то.com, когда я нажимаю «что-то» ..

Спасибо!

Ответы [ 3 ]

1 голос
/ 05 октября 2010
$('li').click(function(e) {
    if (e.target.tagName.toLowerCase() == 'li') {
        window.location = $(this).children('a.li-url').attr('href');
    }
});​

безумная демоверсия


Добро пожаловать на stackoverflow.com
Не забудьте принять ответ

1 голос
/ 05 октября 2010

Добавьте этот бит JS.

$('li a:not(.li-url)').click(function() {
    event.stopPropagation();
});
​

Использование моего селектора или чего-то еще для нацеливания на другую ссылку в li.

0 голосов
/ 05 октября 2010

попробовать this.preventDefault ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...