Es gribu palaist vienkāršu JavaScript funkciju pēc klikšķa bez novirzīšanas.
Vai ir kāda atšķirība vai priekšrocība starp to, ja JavaScript izsaukumu ievieto atribūtā href
(piemēram, šādi:
<a href="javascript:my_function();window.print();">....</a>
) salīdzinājumā ar tā ievietošanu atribūtā onclick
(piesaistot to notikumam onclick
)?
Uzklikšķināšanas uz pogas "onclick" ievietošana href vietā aizskartu tos, kuri stingri uzskata, ka saturs ir jānošķir no uzvedības/darbības. Arguments ir tāds, ka jūsu html saturam arī turpmāk jābūt vērstam tikai uz saturu, nevis uz prezentāciju vai uzvedību.
Mūsdienās tipisks veids ir izmantot javascript bibliotēku (piemēram, jquery) un izveidot notikuma apstrādātāju, izmantojot šo bibliotēku. Tas varētu izskatīties apmēram šādi:
$('a').click( function(e) {e.preventDefault(); /*your_code_here;*/ return false; } );
Personīgi es uzskatu, ka javascript izsaukumu ievietošana tagā HREF ir kaitinoša. Es parasti nepievēršu uzmanību tam, vai kaut kas ir vai nav javascript saite, un bieži vien gribu atvērt lietas jaunā logā. Kad mēģinu to darīt ar šāda veida saitēm, man parādās tukša lapa, kurā nav nekā, un atrašanās vietas joslā parādās javascript. Tomēr šo problēmu var nedaudz apiet, izmantojot onlick.