Обнаруживать, когда ссылка нажимается на якорь с тем же именем на той же странице (только для Javascript)Html

Программисты Html
Ответить
Anonymous
 Обнаруживать, когда ссылка нажимается на якорь с тем же именем на той же странице (только для Javascript)

Сообщение Anonymous »

Обработка нескольких кликов по одному и тому же идентификатору привязки на текущей странице:
У меня есть локальный HTML-файл, который я использую в качестве домашней страницы новой вкладки браузера и который, среди прочего, содержит множество веб-форм поисковой системы, которые можно отправлять. для каждой поисковой системы скрыт до тех пор, пока не будет нажата ссылка, например: .
Когда страница загружается и когда хэш URL-адреса изменяется, я запускаю свою функцию Javascript, чтобы поместить курсор в поле поисковой системы. Это отлично работает, пока та же ссылка не будет нажата еще раз. Когда это происходит, щелчок по удаляет курсор из поля , но поскольку хеш URL-адреса не изменяется, моя функция размещения курсора не запускается повторно.
Какой самый простой код Javascript я могу добавить (без библиотек), чтобы моя функция запускалась при нажатии того же идентификатора привязки снова?
Я просмотрел другие вопросы и нашел только один соответствующий вопрос, но решения там были только для JQuery (и более сложные, чем мне нужно).
Я действительно новичок в Javascript, но предполагаю, что мне нужен прослушиватель, который реагирует на клики , а затем запускает мою функцию. Я попробовал несколько вещей, которые нашел при поиске в Интернете, но не смог заставить их работать.
Фрагмент кода, демонстрирующий проблему:


Код: Выделить всё

function focusOnSearch() {
var urlAnchorId = window.location.hash.substring(1);
document.getElementById(urlAnchorId).getElementsByTagName("input").item(0).focus();
}

window.addEventListener("hashchange", focusOnSearch);
window.addEventListener("load",       focusOnSearch);

Код: Выделить всё

/* Hide all search engines by default */
.Startpage, .DuckDuckGo, .Wayback, .Bing, .Google, .YouTube, .Google_Images, .OpenGameArt, .FreeSound, .Amazon {
display : none;
}

/* Display search engine when its named anchor is active */
#Startpage:target.Startpage, #DuckDuckGo:target.DuckDuckGo, #Wayback:target.Wayback, #Bing:target.Bing, #Google:target.Google, #YouTube:target.YouTube, #Google_Images:target.Google_Images, #OpenGameArt:target.OpenGameArt, #FreeSound:target.FreeSound, #Amazon:target.Amazon {
display :  block;
}

Код: Выделить всё


















































Web Search
[list]
Startpage[/url]
[url=#DuckDuckGo]DuckDuckGo[/url]
[url=#Bing]Bing[/url]
[url=#Google]Google[/url]
[url=#Google_Images]Google Images[/url]
[/list]

Misc
[list]
[url=#Wayback]Wayback Machine[/url]
[url=#YouTube]YouTube[/url]
[url=#Amazon]Amazon[/url]
[/list]

Free Assets
[list]
[url=#OpenGameArt]OpenGameArt[/url]
[url=#FreeSound]FreeSound[/url]
[/list]





Подробнее здесь: https://stackoverflow.com/questions/797 ... cript-only
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»