Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Есть ли фокус? (https://javascript.ru/forum/events/3698-est-li-fokus.html)

mindguru 15.05.2009 11:39

Есть ли фокус?
 
Добрый день! Очень надо определить, есть ли фокус у конкретного поля ввода, чтобы в зависимости от этого совершать или не совершать какие-либо действия. Методы onblur и onfocus в IE почему-то не работают. Пробовал писать в тексте или устанавливать динамически, не работает. Можете что-нибудь посоветовать кроме пользоваться другим браузером? В том-то и дело, что заказчик хочет, чтобы работало в Internet Explorer и Firefox.

Pattern 15.05.2009 11:56

Цитата:

Сообщение от mindguru
Методы onblur и onfocus в IE почему-то не работают.

Покажите участок кода, который у вас не работает...

mindguru 15.05.2009 14:06

Код:

<input type="text" class="s" id="stext" onfocus="stextactive=true" onblur="stextactive=false">

x-yuri 15.05.2009 14:15

и как этот stextactive используется? И для чего, собственно

mindguru 15.05.2009 14:43

Я же говорил, что-то типа if(stextactive) .... Вверху даже такое есть: var stextactive = false;. А почему не работает? Потому что alert(stextactive) всё время пишет false...
На всякий случай: я не тупее паровоза.
Кстати, onfocus="alert()" тоже пробовал...

Gvozd 15.05.2009 14:56

Цитата:

Сообщение от mindguru
Кстати, onfocus="alert()" тоже пробовал...

да.ты молодец.алерт срабатывает,но только при алерте фокус-то моментально теряется
а сами события работают ОТЛИЧНО!
попробуйте сами на простейшем примере

mindguru 15.05.2009 14:58

Да в том-то и дело, что алерт НЕ СРАБАТЫВАЕТ!
(Про паровоз повторяю...)

x-yuri 15.05.2009 15:04

раскажи для начала, зачем тебе нужен фокус, то что ты stextactive в if'е используешь, это понятно... фокус тебе зачем нужен? Что ты с ним делаешь?

Цитата:

Да в том-то и дело, что алерт НЕ СРАБАТЫВАЕТ!
а alert(1); срабатывает?

p.s. забудь про свой паровоз

Gvozd 15.05.2009 15:09

а выглядит, что про паровоз и себя вы врете.
Цитата:

Сообщение от Gvozd
попробуйте сами на простейшем примере

это я для кого написал?
вот вам, убедитесь что у нормальных людей все работает:
<html>
<head>
<script type="text/javascript">
stextactive=null;
function focus_text(){
stextactive=true;
document.getElementById('mes').innerHTML+='Focus<br/>';
}
function blur_text(){
stextactive=false;
document.getElementById('mes').innerHTML+='Blur<br/>';
}

window.onload=function(){
setInterval(function(){document.getElementById('stextactive').innerHTML=stextactive},100);
}
</script>
</head>
<body>
<input type="text" onfocus="focus_text()" onblur="blur_text()" />
<div id="mes"></div>
<hr>
<div id='stextactive'></div>
</body>
</html>

mindguru 15.05.2009 15:10

Цитата:

Сообщение от x-yuri (Сообщение 19070)
раскажи для начала, зачем тебе нужен фокус

Может, те ещё исходники программы выслать? Говорят, надо, значит, надо...

Цитата:

Сообщение от x-yuri (Сообщение 19070)
а alert(1); срабатывает?

Чудак-человек! В осле алерт без аргументов работает ничуть не хуже, чем с аргументами (так и знал, что к этому прицепишься). Трабл в том, что алерт не срабатывает именно в данном случае...


Часовой пояс GMT +3, время: 22:11.