Поменять 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, время: 20:23. |