2016-05-09 14 views
1

Stellen Sie sich vor, dass eine HTML-Datei page1.html ein Skript-Tag für base.js hat. In base.js (d. H. Externe JavaScript-Datei), ich onclick Listener zu einem button zuweisen, die in page1.html existiert. Darüber hinaus ist base.js in script Tags über page1.html, page2.html usw. enthalten, und jeder button in jedem page*?*.html hat den gleichen onclick Listener zugewiesen.Wie wird Dateiname basierend auf dem Ereignisobjekt in JavaScript abgerufen?

Jetzt muss ich irgendwie in der base.js wissen, welche HTML-Datei den onclick Listener aufgerufen hat, mit anderen Worten, in welcher page*?*.html Webseite die Methode ausgelöst wurde. Im Idealfall würde ich den Dateinamen dieses page*?*.html bekommen, wo ? könnte 1, 2, 3 usw. sein. Gibt es eine Möglichkeit, das zu erreichen? Der Code sollte so aussehen ...

// fires up when a button in 'page*?*.html' is clicked 
function myOnClickEventHandler(e) { 
    // the file where myOnClickEventHandler originated from is: 
    var filename = e.??????? 
} 

Vielen Dank!

Antwort

3

var filename = location.href.match(/([^\/]*?)$/)[1];

auf dieser Seite, dann ist es "How-to-get-Dateinamen-based-on-the-Event-Objekt-in-javascript"

+0

perfekte Antwort; Ich muss mich für eine so offensichtliche Frage entschuldigen. Ich dachte, es wäre wegen des Onlick-Ereignisses in der externen JS-Datei mehr involviert ... – Alex

Verwandte Themen