2012-07-31 1 views
3

У меня есть пара тегов на моей странице. Выбрав каждый результат, вы открываете всплывающее диалоговое окно, в котором подробно описывается сообщение в блоге (предотвращение поведения по умолчанию для тегов, например: его посещение). Так что я хочу сделать, это показать всплывающее диалоговое окно, посещенное состояние метки вручную.Как сохранить состояние посещения тегов после вызова preventDefault в событии click?

мой код выглядит примерно так:

$("a.news-part").click(function(e){ 
     //do popup 
     e.preventDefault(); 
     //here i wanna store a tag visited state. 
    }); 

любая помощь очень ценится.

+0

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

+0

Встроенное состояние ': visited' не может быть установлено вручную, это то, что отслеживается браузером, и поэтому ссылки, которые вы просматривали, получают это состояние, даже если они находятся там, где они видны, не следуя фактической ссылке. Вы можете установить какое-либо состояние посещения с классом, или вы можете использовать скрытый iframe для загрузки ссылки, чтобы сделать ее посещенной, или даже использовать API истории HTML5 для подделки, если старые браузеры не являются проблемой. – adeneo

+0

1: Я хочу применить некоторый стиль для посещения тегов. 2: переход на другую страницу. –

ответ

2

Вы могли бы сделать что-то вроде этого ...

$("a.news-part").click(function(e){ 
     //do popup 
     e.preventDefault(); 
     $(this).addClass('visited') 
    }); 

Тогда в вашем CSS, вы просто должны сделать ... a:visited, a.visited или что-то вдоль этих линий на ваш фактический CSS.

+0

Вы уверены, что это сохранит тег, который был посещен в истории браузера? –

+0

нет, это не будет, но вам просто нужен стиль, чтобы он выглядел так, не так ли? – Huangism

+0

, но что после навигации со страницы? и вернуться на эту страницу позже? –

0

Другие предлагаемые решения, вы можете использовать history.pushState в современных браузерах. Тем не менее, я еще не тестировал, действительно ли это будет означать ссылку, как было показано.

Браузерный пример :visited псевдокласс после ссылки в его истории. Вы могли бы поддерживать более старые браузеры, если бы вы заменили свои ссылки во время выполнения с помощью хеш-истории hack-совместимых URL-адресов. Сделайте немного поискового запроса, на это уже много вопросов StackOverflow, если вы не знаете, о чем я говорю.

Удачи вам!

+0

ОК. я проверю его и спасибо заранее. –

Смежные вопросы