Я пытаюсь вызвать функцию, когда я нажимаю переключатель. Функция никогда не вызывается. Первая из моих двух переключателей ниже показывает мою последнюю попытку.
<form action="#">
<ul>
<li>
<input type="radio" class="button" name="buttonSubGroup" onclick="Door();" onmouseover="mouseOver('doorMouseover')" onmouseout="mouseOff('doorMouseover')" id="button1" checked/>
<label for="button1">Door</label>
</li>
<li>
<input type="radio" class="button" name="buttonSubGroup" onclick="Trim();" id="button2" />
<label for="button2">Trim</label>
</li>
<li>
<input type="radio" class="button" name="buttonSubGroup" onclick="Roof();" onmouseover="mouseOver('roofMouseover');" onmouseout="mouseOff('roofMouseover');" id="button3" />
<label for="button3">Roof</label>
</li>
<li>
<input type="radio" class="button" name="buttonSubGroup" onclick="Siding();" id="button4" />
<label for="button4">Siding</label>
</li>
<li>
<input type="radio" class="button" name="buttonSubGroup" onclick="Stone();" id="button5" />
<label for="button5">Stone</label>
</li>
<li>
<input type="radio" class="button" name="buttonSubGroup" onclick="BB();" id="button6" />
<label for="button6">BB</label>
</li>
</ul>
</form>
РЕДАКТИРОВАТЬ:
Вот мои функции JS. Я поставил предупреждение, чтобы уведомить меня, если я включил его в функцию.
function mouseOver(a) {
alert(a)
document.getElementById(a).style.visibility = 'visible';
}
function mouseOff(a) {
alert(a);
document.getElementById(a).style.visibility = 'hidden';
}
Две вещи, которые я заметил:
1.Вы проверили свойство на вашем первом переключателе, необходимо проверить = “checked”
2. Этот код, похоже, работает при наведении курсора на переключатели. Если вы хотите, чтобы это работало при наведении указателя мыши на ярлык, вы также захотите добавить ярлыки onmouseover и onmouseout. Например:
<li>
<input type="radio" class="button" name="buttonSubGroup" onclick="Door();" onmouseover="mouseOver('doorMouseover')" onmouseout="mouseOff('doorMouseover')" id="button1" checked="checked"/>
<label for="button1" onmouseover="mouseOver('doorMouseover')" onmouseout="mouseOff('doorMouseover')>Door</label>
</li>
Как вы объявляете свои функции (mouseOver и mouseOff)?
Может быть, он не объявлен в глобальном масштабе. Я пробовал свой код здесь, и, похоже, это сработало, за исключением того, что не все переключатели, называемые mouseOver() или mouseOff().
Попробуйте объявить свои функции следующим образом:
window['mouseOver']=function(data) {
//do something
};
window['mouseOff'] = function(data) {
//do something else
}