Περισσότερα
Τι σημαίνει "javascript:void(0)";
<a href="javascript:void(0)" id="loginlink">login</a>
Έχω δει πολλές φορές τέτοια href
s, αλλά δεν ξέρω τι ακριβώς σημαίνει αυτό.
1281
3
Μια εξήγηση παρέχεται εδώ: τελεστής
void
.Ο λόγος που θα θέλατε να το κάνετε αυτό με το
href
ενός συνδέσμου είναι ότι κανονικά, μια διεύθυνση URLjavascript:
θα ανακατευθύνει το πρόγραμμα περιήγησης σε μια έκδοση απλού κειμένου του αποτελέσματος της αξιολόγησης αυτής της JavaScript. Αλλά αν το αποτέλεσμα είναιundefined
, τότε το πρόγραμμα περιήγησης παραμένει στην ίδια σελίδα. Τοvoid(0)
είναι απλώς ένα σύντομο και απλό σενάριο που αξιολογεί το αποτέλεσμαundefined
.Σημαίνει ότι δεν θα κάνει τίποτα. Είναι μια προσπάθεια να μην "πλοηγηθεί" ο σύνδεσμος πουθενά. Αλλά δεν είναι ο σωστός τρόπος.
Στην πραγματικότητα θα πρέπει απλά να "επιστρέφετε false" στο συμβάν "onclick", έτσι:
Συνήθως χρησιμοποιείται αν ο σύνδεσμος κάνει κάποιο "JavaScript-y" πράγμα. Όπως η αποστολή μιας φόρμας AJAX, ή η εναλλαγή μιας εικόνας, ή οτιδήποτε άλλο. Σε αυτή την περίπτωση απλά κάνετε οποιαδήποτε συνάρτηση καλείται να επιστρέφει "false".
Για να κάνετε τον ιστότοπό σας εντελώς φοβερό, ωστόσο, γενικά θα συμπεριλάβετε έναν σύνδεσμο που κάνει την ίδια ενέργεια, αν το άτομο που τον περιηγείται επιλέξει να μην εκτελέσει JavaScript.
Θα πρέπει πάντα να έχετε ένα href στις ετικέτες a. Η κλήση μιας συνάρτησης JavaScript που επιστρέφει 'undefined' θα είναι μια χαρά. Το ίδιο και η σύνδεση με το '#'.
Στις ετικέτες άγκυρας στον Internet Explorer 6 χωρίς href δεν εφαρμόζεται το στυλ
a:hover
.Ναι, είναι τρομερό και ένα μικρό έγκλημα κατά της ανθρωπότητας, αλλά από την άλλη το ίδιο ισχύει και για τον Internet Explorer 6 γενικά.
Ελπίζω αυτό να βοηθήσει.
Ο Internet Explorer 6 είναι στην πραγματικότητα ένα μεγάλο έγκλημα κατά της ανθρωπότητας.