Поменять event`ы местами
Есть форма (form#abc), к ней уже пришит onsubmit, я хочу к форме добавить еще один onsubmit, но чтобы функция выполнялась раньше первоначального event`а:
<form id="abc"> … </form>
<script>
var form=document.getElementById("abc");
form.onsubmit=function(){
alert("First event")
return false
}
function secondEvent(){
alert("I`m a second event")
return false
}
/* и как-нибудь */
form.onsubmit[0]=secondEvent; // =D
</script>
Вообщем, как поменять местами эвенты? |
С помощью .onsubmit можно повесить только одну функцию. Пусть это будет функция, запускающая нужные функции:)
form.onsubmit=function(){
firstEvent();
secondEvent();
}
function firstEvent(){ alert("First event"); }
function secondEvent(){ alert("I`m a second event"); }
|
Делал даже так:
var form=document.getElementById("abc");
form.onsubmit=function(){
alert("First event")
return false
}
var submitten=form.onsubmit;
form.onsubmit=function(){
submitten()
alert("First event")
return false
}
Но не сработало. |
Sweet, имя первой onsubmit-функции я не могу определить.
|
Ну тогда добавь вторую функцию методом attachEvent/addEventListener. Правда не знаю, какая функция сработает первой:)
|
Читай про события
|
Skipp, что я там должен прочесть?
|
Цитата:
|
Вот, написал, использовал замыкания:
(function(i){
var old=b[i].form.onsubmit;
b[i].form.onsubmit=function(){
for(var o=0,t=this;o<t.length;o++){
t[o].value=""
};
old()
}
})(i);
Чувств ю, пахнет быдлокодингом… |
| Часовой пояс GMT +3, время: 00:57. |