#javascript #css
#javascript #css
Вопрос:
У меня есть метод
Переключаемый редактор (this)
Это расширяет небольшой оконный компонент на моей веб-странице. У нее есть значок , при нажатии на который окно расширяется и заменяется на -.
В этом компоненте window также есть форма и некоторые параметры фильтра, которые при отправке перезагружают страницу, и поэтому при перезагрузке она отображается с нераскрытым компонентом window.
Как мне сделать так, чтобы при отправке формы окно оставалось открытым?
Ссылка идет от http://link для http://link#something когда я отправляю форму.
Ответ №1:
Что-то вроде этого подойдет
window.onload = function() {
if (document.location.hash === 'something') {
someObject.toggleDrawer();
}
};
Конечно, это не сработает, если у вас уже есть некоторые события, привязанные к window.onload
событию. В этом случае вы можете захотеть использовать некоторую отправку событий и добавить вышеупомянутую функцию к обратным вызовам, которые будут вызываться при загрузке окна. В каждой библиотеке Javascript есть какой-то вид управления объектами. Например, в jQuery вы бы сделали
$(window).load(function() {
if (document.location.hash === 'something') {
someObject.toggleDrawer();
}
});
Комментарии:
1. Да, это код javascript. Здесь
someObject
должно быть изменено на любой объект, к которому принадлежит методtoggleDrawer
. Вы не указали это в вопросе.2. Или
addEventListener
соответственно.attachEvent
если вы хотите решить проблему с несколькими обработчиками без библиотеки.3. Да, я не стал вдаваться в подробности, потому что тогда вам придется позаботиться о несовместимости браузера. Я думаю, что это один из моментов, когда использование библиотеки имеет некоторые преимущества.
4. как мне определить SomeObject? Я новичок в javascript. Прямо сейчас я вызываю toggleDrawer (this) в apache velocity. Как бы я это сделал в js?
5. @SuperString: Тогда вам, вероятно, сначала следует прочитать руководство: developer.mozilla.org/en/JavaScript/Guide