Heim  >  Artikel  >  Web-Frontend  >  Eine kurze Diskussion über die Verarbeitung von Jquery-Ereignissen_jquery

Eine kurze Diskussion über die Verarbeitung von Jquery-Ereignissen_jquery

WBOY
WBOYOriginal
2016-05-16 16:02:371072Durchsuche

In einem auf jQuery basierenden Frontend-Entwicklungssystem sind viele Ereignisse oft über verschiedene Identifikatoren an eine Seite gebunden. Selbst wenn der Ereignis-Proxy einfach verwendet wird, führt er dennoch zu einer Streuung der Ereignisse, was die Wartung und Verwaltung erschwert.

Wie kann man dieses Problem lösen? Und ich dachte an die Ereignisse im Backbone. Wie folgt:

Code kopieren Der Code lautet wie folgt:

Ereignisse: {
„click .icon“: „open“,
„click .button.edit“: „openEditDialog“,
„click .button.delete“: „zerstören“
}

Das heißt, Veranstaltungen zusammenzuführen, ähnlich dem Konzept eines Event Processing Centers.

Ein kurzer Überblick über die Umsetzungsideen:

Verwenden Sie den Ereignis-Proxy, um das Ereignis an den Hauptknoten zu binden. (Einige Ereignisse selbst brodeln nicht, daher werden wir sie hier vorerst nicht untersuchen)

Geben Sie eine einheitliche Kennung für das Ausführungsobjekt des Ereignisses an.

Ausführungsfunktion von Ereignissen, zentralisierte Verarbeitung.

Code kopieren Der Code lautet wie folgt:




//Veranstaltungsverarbeitungszentrum
var ClickEventCenter = {
„handler1“: Funktion () {
               // etwas tun...
},
„handler2“: Funktion () {
               // etwas tun...
}
// ...
}
//Ereignisbindung
$body.on("click", "[data-click-center]", function () {
var handlerName = $(this).data("click-center");
var handler = ClickEventCenter[handlerName]
if ($.isFunction(handler)) handler()

})

In diesem Fall wird eine Art von Ereignissen zusammengefasst.

Irgendwann kann es eine sehr gute Rolle spielen.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er gefällt Ihnen allen.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn