Переход на другую страницу по нажатию на блок

282
02 марта 2019, 16:20

Как при нажатии по HTML-блоку перейти на другую страницу? Не используя тег <a>.

Answer 1

Ну из div ссылку вы сделать не сможете, но можно привязать onclick к нужному блоку и делать переход как по ссылке следующим образом:

<div onclick="location.href='http://yoursite.com';">Content</div>

Пример:

div { 
  height: 200px; 
  width: 200px; 
  outline: 1px solid black; 
  display: flex; 
  align-items: center; 
  justify-content: center; 
} 
 
div:hover { 
  outline: 2px solid black; 
  cursor: pointer; 
}
<div onclick="location.href='https://ru.stackoverflow.com';">Redirect to another site</div>

Если у вас не срабатывает корректно onClick в некоторых браузерах, то добавьте javascript::

<div onclick="javascript:location.href='http://yoursite.com';">Content</div>
Answer 2

Делать ссылки на JS - это уже неправильный семантический подход. Ссылки должны индексироваться и быть доступны скринридерами. Да и зачем усложнять жизнь с джаваскриптом, когда есть возможность реализации на нативном HTML.

Делай так:

.block { 
  display: block; 
}
<a href='#' class='block'> 
  <div class='block__content'>Контент</div> 
</a>

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

.block { 
  position: relative; 
  z-index: 0; 
} 
 
.block__link { 
  position: absolute; 
  display: block; 
  top: 0; 
  left: 0; 
  width: 100%; 
  height: 100%; 
  z-index: 1; 
}
<div class='block'> 
  <div class='block__content'>Контент</div> 
  <a href='#' class='block__ghostLink'>Ссылка</a> 
</div>

Answer 3

По клику, например.

$('div#go_to_yandex').on('click', function(event) {
    window.location.href = 'https://ya.ru';
});

или без Query:

document.getElementById('go_to_yandex').onclick = function(event) {
    window.location.href = 'https://ya.ru';
};
Answer 4

Добавьте блоку событие onClick="window.location.href='', в href добавьте адрес ссылки

READ ALSO
mysql_fetch_array не работает

mysql_fetch_array не работает

и тоже не работает в mysql_fetch_row и mysqli_fetch_arrayЧто нужно делать

166
Как сделать карусель адаптивной и под ПК и под смартфон?

Как сделать карусель адаптивной и под ПК и под смартфон?

Дорогие друзья! Столкнулся с такой проблемой: Есть карусель а изображения на ней разного размераВысота некоторых изображений больше, и когда...

165