2017-01-03 4 views
0

Ich versuche, die Pfeiltasten für die Verwendung als Eingabehilfen Navigationslistener zu binden. Ich habe ein paar Artikel gefunden, die darüber sprechen, wie man die Funktionen mit Hilfe von jQuery bindet, das nützlichste ist dies: Binding arrow keys in JS/jQuery.Einstellung der Pfeiltasten als global für die Barrierefreiheit

Das gesagt, ich kann keine Möglichkeit finden, tatsächlich eine globale Reihe von Pfeil-Tasten-Funktionen zu erstellen, die es meinen Benutzern ermöglichen, Pfeiltasten Site-weit zu verwenden. ist das möglich mit jquery? Oder basiert es vollständig auf der Verwendung von Klassen an Orten, an denen ich Pfeiltasten verwenden würde, wie beispielsweise Drop-Menüs?

Ich benutze derzeit asp.net MVC und Rasierer-Ansicht, um meine Seiten zu generieren.

+0

Sie können die Tastenbelegungen für eine ganze Seite auf einmal gesetzt, aber wenn man einfach Setzen Sie Ihre Bindungsfunktion in eine externe ".js" -Datei und stellen Sie sicher, dass jede Seite Ihrer Site mit ihr verknüpft ist. Sie werden diese Funktionalität auf jeder Seite haben. –

+0

@ScottMarcus kann dies mit asp.net MVC getan werden? die site.js benutzen? – Joshua

+0

Nicht sicher, das ist eine andere Frage. Sie sollten Ihre Frage bearbeiten, um zu reflektieren, dass Sie ASP.NET MVC verwenden (denken Sie daran, diese Tags auch zur Frage hinzuzufügen). –

Antwort

1

Im MVC können Sie es mit layout.cshtml Datei tun (vor allem innerhalb der/Ansichten/Shared-Ordner)

Sie weitere Informationen über MVC Layout-Dateien in diesen link

Als @ScottMarcus finden sagte in den Kommentaren, erstellen Sie eine .js-Datei, die Ihre Pfeiltasten Binding-Funktionen enthalten.

Fügen Sie danach den < script src = '... js' /> Link in den Header der layout.cshtml Datei ein.

Wenn Sie diese layout.cshtml-Datei für alle Aktionen verwenden möchten, erstellen Sie eine Datei mit dem Namen "_ViewStart.cshtml" im Ordner Ansichten, setzen Sie diesen Code in die Datei _viewstart.cshtml;

@{ 
Layout = "~/Views/Shared/_Layout.cshtml"; 
} 

Wenn Sie das Layout in keiner Aktion verwenden möchten, fügen Sie diese Zeile in die Ansicht dieser Aktion ein.

@{ 
    layout=null; 
} 

Es gibt mehrere verschiedene Möglichkeiten, dies zu tun ... Aber ich denke, das ist genug für Sie :)

+1

Vielen Dank, es macht Sinn, dass es durch die Layout-Datei getan werden könnte. Ich werde das ausprobieren. – Joshua

Verwandte Themen