|
|
|
| есть
<form method="post" name="myForm" >
<input name="a1" onFocus="if(this.value=='имя'){this.value=''}; " onBlur="if(this.value==''){this.value='имя'};" value='имя' >
</form>
|
возможно ли назначить события onFocus для поля ввода через скрипт?
тоесть оставить только
<input name="a1" value='имя' >
|
а действия на onFocus и onBlur прописать отдельно? | |
|
|
|
|
|
|
|
для: AlexSol
(03.11.2006 в 14:44)
| | Да, пишут или
(объект).событие=функция;
или
attachEvent // addEventListener (cм.док).
Второй вариант чем-то лучше, хотя дольше писать. | |
|
|
|
|
|
|
|
для: 12345
(03.11.2006 в 15:13)
| | попробовал. в опере работает оба метода, а в эксплорере не один :(
<html>
<head>
<title>DOM Event Examples</title>
<script>
// Event Registration Example
function l_func() {
t2 = document.getElementById("t2");
t2.innerHTML = "three";
}
function load() {
document.getElementById("t").addEventListener("click", l_func, false);
}
</script>
</head>
<body onload="load(); document.getElementById('btn').attachEvent('onclick', hurrah)">
<table id="t">
<tr><td id="t1">one</td></tr>
<tr><td><div id="t2">two</div></td></tr>
</table>
<SCRIPT>
function hurrah() {
alert('Молодец!');
event.srcElement.detachEvent('onclick', hurrah);
}
</SCRIPT>
<BUTTON id="btn">Нажми меня</BUTTON>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: AlexSol
(03.11.2006 в 15:42)
| | Потому что addEventListener даёт ошибку в IE
Добавь if(document.addEventListener) перед document.getElementById("t").addEventListener
А вообще я использую такую функцию (пример без контекста):
<script>onload=function(){
var ad,o=document.getElementById('d1'),p='';
o[o[ad='addEventListener']?ad:(p='on','attachEvent')](p+'mouseover',F,!1);
}
F=function(){document.getElementById('d2').innerHTML+='+';}
</script>
| А то далее у тебя attachEvent будет давать ошибку в FF | |
|
|
|