Эмулировать внешний вид ссылки с помощью javascript - PullRequest
1 голос
/ 31 июля 2009

Мне нужно открывать ссылки с помощью javascript (window.open), когда пользователь нажимает на позиции на карте Google Maps.

Как мне заставить пользователя понять, что это ссылка, что он может щелкнуть по ней и где он окажется, когда щелкнет ее?

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

Как мне это сделать?

Спасибо

DonTomaso

Ответы [ 4 ]

2 голосов
/ 31 июля 2009

Вы можете создать простую ссылку, а затем поместить на нее прослушиватель onclick, используя ненавязчивые приемы Javascript. Когда пользователь нажимает на ссылку, вы перехватываете событие click, запрещаете действие по умолчанию, читаете атрибут href и открываете окно. Вроде как:

<a href="http://www.example.com" id="myLink">link</a>

$("#myLink").on("click", function(event) {
    event.preventDefault();
    myFunctionToOpenWindowForUrl(this.href);
});

Это использует jQuery, конечно, вы можете адаптировать его к любой другой библиотеке JS, которую вы можете использовать. Таким образом, вы также увидите исходный URL в строке состояния, потому что это естественная вещь для ссылки - нет необходимости в дополнительном кодировании. Кроме того, ваши ссылки будут работать даже без Javascript, что делает этот подход намного лучше, чем, например, стилизация диапазона, чтобы он выглядел как ссылка, а затем привязывал к ней слушателя.

0 голосов
/ 31 июля 2009

попробуйте что-то вроде этого:

<a href="javascript:void(0);" onclick="yourAction()" onmouseover="window.status='status bar';">link</a>

href="javascript:void(0);" покажет ссылку так, как должно, если вы поставите здесь href="#", она просто прокрутится вверху страницы. Href должен быть настроен на отображение обычной ссылки.

onmouseover="window.status='status bar';" установит статус в окне при наведении мыши.

0 голосов
/ 31 июля 2009

Вы можете изменить курсор так, чтобы он отображался как указатель с помощью CSS (cursor: pointer;)

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

0 голосов
/ 31 июля 2009

Хорошо, я не знаю много о том, как карта Google управляет кодом JS, поэтому я постараюсь дать вам общую помощь:

Вы можете создать DIV (с шириной и высотой желаемой прямоугольной области), а затем поместить его с прозрачным цветом фона, расположенным в абсолютных координатах, где вы хотите на карте.

затем напишите для него обработчики onmouseover и onclick, чтобы при переходе пользователя к нему вы меняли форму мыши (от указателя к руке), а при щелчке по ней открывайте URL.

для строки состояния, когда пользователь находится на карте, вы можете сделать:

window.status = (getURL)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...