Можно же на события клика отменять переход по ссылке.
первый клик - отмена перехода по ссылке, показать подсказку, добавить класс к ссылке
второй клик - условие проверки добавленного класса, если есть, то переходить по ссылке, не показывать подсказку
Только придется для мобильных и десктопа использовать разные события если нужен hover на десктопе.
Да не, это писец, не стоит того. У меня это второстепенный блок на КТ.
Вроде понял о чем речь, типа так:
$(function(){$("[data-tooltip]"). on( 'touchmove mousemove', function (eventObject) {//траливали}).mouseout(function () {// итд});});
Верно? Но! В интернетах пишут, что
mousemove === touchmove
Таким образом нет нужны дублировать, это одно и тоже... Но должно же быть решение для несчастных андроид-юзеров? Как я понял, iOS браузер видит, что первый тач приводит к изменению дочернего элемента, поэтому не инициирует переход по ссылке, а второй тач (вот тут неясно - почему не только по этой же ссылке) ссылку открывает. А тупой робот выполняет сразу оба действия...
А напиши прям строчкой скрипта, я же тупой...
и тут есть свое соображение... Открывшееся окошко может закрыть нужную юзеру информацию. А тут мышкой подвинул - окошко отъехало.
Как по мне, так удобнее, чтобы окошко было на своём месте и никуда не ездило. Но это дело вкуса и конкретного дизайна. Но событие ресурсозатратное.
Что, все так вот плохо? Современный юзер с минимум 2 гб оперативки и 1.3ггц процом не тянет ездящий квадратик 300х600 пикселей?
для моб же touchmove и touchout
надо поправить типа $('[data-tooltip]').on(' touchmove mousemove', func .....
Ну надо же чтобы и на десктопе работало... Счас на нем красиво - окошко ездит за мышой...
Скрип весь. Остальное - лишь целевой div
Вообще бред, это значит что кто-то подключен по API, например некий DNS-хостинг в режиме master, соответственно CF работает в режиме slave. Но если САМ этого не делал - то оно не может само случиться. Случайно угадать ключ АПИ, это примерно как на луне оказаться по пути в магаз.
Проверь, никому в голову не пришло на VPS завести CF как slave?
Лучше вообще блокировать такие страницы, отдавая 403. Разрешить параметры запроса по белому списку (можно по маскам), остальные запретить.
В данном случае прописать в .htaccess (для Apache 2.4):
<If "%{QUERY_STRING} != '' && %{QUERY_STRING} =~ /^url=http.+$/i">
Require all denied
</If>
# Для Apache 2.2:
RewriteCond %{QUERY_STRING} ^.+$
RewriteCond %{QUERY_STRING} ^url=http.+$ [NC]
RewriteRule ^.*$ - [F]
Можно и так, но движком - наиболее универсально. Сделать по принципу "запрещено все, что не разрешено" и иметь массив разрешенных GET-параметров. У меня так.