Я знаю, что с jQuery довольно легко увидеть, щелкнул ли пользователь за пределами определенного элемента, а затем отреагировал на него, подобно тому, как его закроет щелчок за пределами раскрывающегося раскрывающегося меню.JavaScript, нажатый вне элемента
Я пытаюсь достичь чего-то подобного с помощью JavaScript в одиночку, без jQuery. Вот мой текущий код:
window.onload = function() {
var nav = document.querySelectorAll('ul li.current_page_item');
var navList = nav[0].parentNode;
//Open the navigation menu list
nav[0].onclick = function() {
navList.className = 'open';
}
}
В настоящее время, код будет применяться классом open
в неупорядоченный список, если его дочерний элемент li.current_page_item
щелкнул.
Я хотел бы вызвать событие (удалить класс open
), если пользователь нажимает кнопку за пределами элемента списка li.current_page_item
.
Может ли кто-нибудь показать, как я мог слушать, а затем отреагировать на событие, которое сделает что-то вроде этого только с JavaScript?
Спасибо за ваше время.
Ну подумайте о том, как вы могли бы сделать это _with_ JQuery, а затем применить тот же принцип в равнинных JS: вы, вероятно, начать с привязки обработчика щелчка к документу, потому что ловил щелчки вне меню item ... – nnnnnn
Да, я знаю. Я немного изменил свой предыдущий комментарий после того, как вы его впервые увидели, но даже в оригинальной версии не говорилось «использовать jQuery», он попросил вас подумать о том, как вы это сделаете с помощью jQuery (в надежде, что это даст вы знаете, как это сделать без - одни и те же принципы применяются в любом случае). – nnnnnn
@ spryno724 он означает, что, как вы знаете jQuery, вы можете применить такую же логику для решения проблемы с помощью обычного JavaScript. Я., вы 'addEventLister' в' document' в чистом javascript – Ejaz