Как сделать отделение активируемым по щелчку?

Я хочу сделать это отделение активируемым по щелчку и хотеть использовать то же href из внутренней части <a> и хочу удержать ссылку внутри <a> также (поэтому, если JS отключен затем, ссылка будет доступна).

<div id="example">

<p> some text </p>

<img src="example.jpg />

<a href="http://stackoverflow.com"> link </link>

</div>

Я подразумеваю, что мне нужно как это.

<div id="example" href="http://stackoverflow.com">

<p> some text </p>

<img src="example.jpg />

<a href="http://stackoverflow.com"> link </link>

</div>
7
задан Jitendra Vyas 21 May 2010 в 03:35
поделиться

2 ответа

Что-то вроде этого должно работать

$('#example').click(function() {
  window.location.href = $('a', this).attr('href');
});
7
ответ дан 6 December 2019 в 21:10
поделиться

Я пока не могу ответить на вышеупомянутый разговор, потому что я здесь новичок, но я просто хотел сказать, что вам не нужно возвращать false из этой функции. Это предотвращает поведение события по умолчанию (которое в случае щелчка div не имеет значения) и предотвращает распространение события до следующего элемента в иерархии DOM.

Маловероятно, что что-то из этого необходимо в данном случае. Кроме того, если вам действительно нужны эти варианты поведения, вы можете получить их по отдельности и более четко, например так:

// note that the function will be passed an event object as
// its first argument.
$('#example').click(function(event) { 
  event.preventDefault(); // the first effect
  event.stopPropagation(); // the second

  window.location.href = $('a', this).attr('href');
});

Опять же, я не думаю, что в данном случае нужен какой-либо подход, но важно понимать, как они работают, потому что вы потребуется часто один или оба из них.

3
ответ дан 6 December 2019 в 21:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: