powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Опять srcElement в FireFox
5 сообщений из 5, страница 1 из 1
Опять srcElement в FireFox
    #36427333
Дмитрий JS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет,
У меня возникла такая проблема:
В Mozilla FireFox не работает метод srcElement, я пробоваал его заменить, но безуспешно. window.event.srcElement мне нужен для того, чтобы получить ссылку на ТОТ елемент, который ИНИЦИИРОВАЛ событие, вот пример когда:

<div id="divtst4">1.  Я спокоен</div>
<div id="divtst5"><input onclick="sc()" name="tst1" value="1" type="radio">Нет, это не так.<br></div>
<div id="divtst5"><input onclick="sc()" name="tst1" value="2" type="radio">Пожалуй, так.<br></div>
<div id="divtst5"><input onclick="sc()" name="tst1" value="3" type="radio">Верно.<br></div>
<div id="divtst5"><input onclick="sc()" name="tst1" value="4" type="radio">Совершенно верно.<br></div><br>

<br><div id="divtst4">2.  Мне ничто не угрожает</div>
<div id="divtst5"><input onclick="sc()" name="tst2" value="1" type="radio">Нет, это не так.<br></div>
<div id="divtst5"><input onclick="sc()" name="tst2" value="2" type="radio">Пожалуй, так.<br></div>
<div id="divtst5"><input onclick="sc()" name="tst2" value="3" type="radio">Верно.<br></div>
<div id="divtst5"><input onclick="sc()" name="tst2" value="4" type="radio">Совершенно верно.<br></div> и т.д.

<script>
mas= new Array ()
mas.length=20
for (i=0; i <= mas.length-1; i++)
{
mas[i]=0
}

function sc() {
x=window.event.srcElement // как исправить?
k=x.name.slice(3)
f=parseInt(x.value)
i=k-1
mas[i]=f
}
</script>

Пробовал вставлять
x=window.event.srcElement || event.target
но чего-то все равно не правильно.

Я еще только начинаю работать с JavaScript, поэтому сам исправить ошубку не могу...
...
Рейтинг: 0 / 0
Опять srcElement в FireFox
    #36427386
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Напишите
Код: plaintext
1.
<input onclick="sc(event)" 
...
Рейтинг: 0 / 0
Опять srcElement в FireFox
    #36427481
Дмитрий JS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSerge,

Так? То же че-то не пашет

<div id="divtst4">1. Я спокоен</div>
<div id="divtst5"><input onclick="sc(event)" name="tst1" value="1" type="radio">Нет, это не так.<br></div>
<div id="divtst5"><input onclick="sc(event)" name="tst1" value="2" type="radio">Пожалуй, так.<br></div>
<div id="divtst5"><input onclick="sc(event)" name="tst1" value="3" type="radio">Верно.<br></div>
<div id="divtst5"><input onclick="sc(event)" name="tst1" value="4" type="radio">Совершенно верно.<br></div><br>

<br><div id="divtst4">2. Мне ничто не угрожает</div>
<div id="divtst5"><input onclick="sc(event)" name="tst2" value="1" type="radio">Нет, это не так.<br></div>
<div id="divtst5"><input onclick="sc(event)" name="tst2" value="2" type="radio">Пожалуй, так.<br></div>
<div id="divtst5"><input onclick="sc(event)" name="tst2" value="3" type="radio">Верно.<br></div>
<div id="divtst5"><input onclick="sc(event)" name="tst2" value="4" type="radio">Совершенно верно.<br></div> и т.д.

<script>
mas= new Array ()
mas.length=20
for (i=0; i <= mas.length-1; i++)
{
mas[i]=0
}

function sc() {
x=window.event.srcElement // как исправить?
k=x.name.slice(3)
f=parseInt(x.value)
i=k-1
mas[i]=f
}
</script>
...
Рейтинг: 0 / 0
Опять srcElement в FireFox
    #36427529
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий JS,

можно делать, как предложил ShSerge, но тогда функцию делаем так:
Код: plaintext
1.
2.
3.
4.
5.
6.
function sc(evt) {
  evt = evt || window.event; // получаем истинный event
  var x = evt.target || evt.srcElement;   // получаем истинный элемент
  var k = x.name.slice( 3 );
  mas[k- 1 ]=parseInt(x.value);
}

и в html оставляете <input onclick="sc(event)"

Поскольку onclick назначается в html, можно передавать туда сам элемент:
<input onclick="sc( this )"

и коде x уже будет элементом:

Код: plaintext
1.
2.
3.
4.
function sc(x) {
  var k = x.name.slice( 3 );
  mas[k- 1 ]=parseInt(x.value);
}

Но первый вариант более универсален, т.к. тот sc можно назначать обработчиком программо (в js-коде).
...
Рейтинг: 0 / 0
Опять srcElement в FireFox
    #36427539
Дмитрий JS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Яростный Меч, ShSerge

Огромное вам СПАСИБО!!!
Все работает!!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Опять srcElement в FireFox
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]