екі түрлі элемент 'бірдей jquery функциясымен өңделген оқиғаларды жіберіп, басыңыз

Менде #next_step батырмасы бар және #design_next_step сілтемесі бар.

Басылған түйме немесе сілтеме басылғанда, сол функция іске қосылады.

Қалай жасауға болады?

$ ('# next_step'). submit (), $ ('# design_next_step'): click() {function() {...});

4
Егер батырманың (енгізудің) түрі ұсынылса, сізге басу оқиғасы қажет
қосылды автор VD', көзі

6 жауаптар

Топтық селекторды анықтау үшін стандартты CSS үтірін пайдалануға болады:

$('#next_step, #design_next_step').on('submit click', function(){ ... });

Түйме жіберілгенде немесе сілтеме басылғанда ...

Бірақ түймешіктері жіберілмейді, олар басылады. submit оқиғасы немесе input элементтері емес, form элементтеріне жатады. Сіз көрсеткен id , түймелер немесе сілтемелері бар элементтер үшін, click оқиғасын пайдаланыңыз:

$('#next_step, #design_next_step').on('click', function(){ ... });

Depending on what you're doing, you may — or may not — want to prevent the default action for the event [by accepting the event argument and calling preventDefault on it, or by doing return false in the handler which will both prevent the default and stop propagation]. The default action for click on links is to follow the link, for instance.

5
қосылды
Тері дұрыс ... түймелер жіберілмейді. Бірақ егер #next_step болса, input type = 'submit' . $ ('# next_step') емес пе() жарамды коды?
қосылды автор user961627, көзі
@Jonathan: Ия, мен жай ғана бұл туралы айтқан едім ...
қосылды автор T.J. Crowder, көзі
@ user961627: Бұл жарамды код, бірақ ештеңе жасамайды. :-) submit оқиға form элементтеріне шығарылады. submit батырмасын басқан кезде, click батырмасын басыңыз.
қосылды автор T.J. Crowder, көзі
Сіз түймешелерді жібермейсіз ...
қосылды автор Jonathan, көзі

Бірдей функцияны шақыру үшін екеуі де оқиға өңдегіштерін жасаңыз.

$('#next_step').submit(function() {
   F();
});
$('#design_next_step').click(function() {
   F();
});
var F=function() {
   . . .Write code here
}
4
қосылды

сіз бірдей классқа, сілтемені, сондай-ақ түймені бере аласыз, содан кейін келесі әрекеттерді орындауға тырысуға болады

$('.className').click(function() {
    var item = $(this);//item that triggered the event

});

және ID идентификаторларына негізделген болса, келесі әрекеттерді орындаңыз

$('#Button1, #Link1').click(function() {
   //You can use `this` to refer to the source element, for instance:
});
2
қосылды

Менің ойымша, бұған ешқандай жол жоқ

Оның орнына оқиға өңдегіштерінде сол функцияны қолдануға тырысыңыз

$('#formId').submit(function{
   execute();
});

 $('#design_next_step').click(function{
 execute();
 })
0
қосылды
@Jonathan Кешіріңіз, мен сізге көмектесті.
қосылды автор ꜱᴜʀᴇꜱʜ ᴀᴛᴛᴀ, көзі
@Jonathan Oops..саны Джонатанға арналған. Мен бір функцияны жазып, бірнеше рет қолданамын деп ойлаймын :)
қосылды автор ꜱᴜʀᴇꜱʜ ᴀᴛᴛᴀ, көзі
Түймелерді жібермеуге тырысыңыз!
қосылды автор Jonathan, көзі
form жіберіңіз, батырма мүмкін емес
қосылды автор Jonathan, көзі

Бұл дұрысырақ болар еді.

$('.anchor').click(function{
   $('form').submit();
});
0
қосылды

Сіз әдеттегі функция деп атайтын сияқты қоңырау шала аласыз. Осы жағдайда пайдаланушы сілтемесін жіберген немесе басқан кезде сол әрекетті орындау және басу арқылы, олар «myFunction» функциясын шақырады.

                function myFunction()
                      {
                        ..........
                      }
                $('#button').submit(myFunction);
                $('#link').click(myFunction);

немесе

                 var myFunction=function()
                    {
                       .......
                    }

                  $('#button').submit(myFunction);
                  $('#link').click(myFunction);
0
қосылды