Веб-сокеты - это протокол, обеспечивающий полнодуплексный канал связи по одному TCP-соединению. Например, двусторонняя связь между сервером и браузером Поскольку протокол более сложный, сервер и браузер должны полагаться на библиотеку websocket, которая является socket.io
Example - Online chat application.
SSE (Server- Sent Event). В случае события, отправленного сервером, связь выполняется с сервера только на браузер и браузер не может отправлять какие-либо данные на сервер. Такое общение в основном используется, когда необходимо показывать только обновленные данные, а затем сервер отправляет сообщение всякий раз, когда данные обновляются. Например, односторонняя связь между сервером и браузером. Этот протокол менее сложный, поэтому нет необходимости полагаться на внешнюю библиотеку. Сам JAVASCRIPT предоставляет интерфейс EventSource
для приема отправленных сервером сообщений.
Example - Online stock quotes or cricket score website.
Вы можете сделать это следующим образом:
$('a').on('click', function(e) {
e.preventDefault();
e.stopPropagation();
$(this).addClass('ajax-link')
window.location.href = $(this).attr('href')
})
.ajax-link {
color: green;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js"></script>
<a href="https://google.com">Test</a>
Вы в основном предотвращаете действие по умолчанию Привязка таким образом, что щелчок не будет работать, затем вы добавляете класс и вручную отправляете пользователя по ссылке.
Я уверен, что есть много других способов сделать то, что вы просили, это только один из них, простой и интуитивно понятный.
Вы можете добавить свойство css pointer-events: none;
, как показано ниже.
$('a').on('click', function(e) {
//alert();
e.preventDefault();
e.stopPropagation();
$(this).addClass('disabled');
// window.location.href = $(this).attr('href')
});
a.disabled {
pointer-events: none;
cursor: default;
color:#D3D3D3;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="myClass">
<a href="https://www.google.com/" >Hello My Click</a>
</div>
`[ 118]