Просмотр полной версии : как узнать что несколько элементов не в фокусе?
Есть <div> внутри него два элемента, как можно узнать что оба элемента внутри дива не в фокусе? На форме таких групп элементов несколько.
один из элементов - RadGrid, до него не достучаться через document.activeElement :(
megaupload
15.04.2013, 15:43
RadGrid?
да RadGrid (компонент Telerik) в нем отображается выборка из базы, условием для запроса к которой является текстовое поле, расположенное с гридом в одном диве. Собственно эти два компонента должны выполнять роль DropDownList'а за исключением того, что текстовое поле используется для поиска, туда же я переношу выбранное значение из грида. Смысл в том, чтобы скрыть грид тогда когда юзер кликнет (или перейдет табом) мимо него и мимо текстового поля.
megaupload
15.04.2013, 22:27
document.activeElement
век живи век учись коли не читал учебник)
век живи век учись коли не читал учебник)
И с прочитанным учебником учиться приходится. Всех учебников не прочитаешь.
В общем, всё дело в том, что мне товарищ devote подсказал абсолютно правильно, нужно было просто чутка поковыряться. скрипт у меня выглядит следующим образом
function hidegrid(gridid, divgrid) {
if (document.activeElement.tagName == "TD") {
var x = document.activeElement.parentElement;
var y = x.parentElement
var z = y.parentElement;
if (z.parentElement.id != gridid) {
document.getElementById(divgrid).style.display = "none";
}
}
else {
document.getElementById(divgrid).style.display = "none";
}
}
Я не претендую на самое изящное решение, но хотелось бы, чтобы работало в основных браузерах. В IE как это ни странно работает, а вот Chrome каждый раз активным считается элемент BODY, как с этим бороться? :help:
Ну и если подскажете как написать проще буду тоже очень рад.
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot