Heim >Web-Frontend >js-Tutorial >So implementieren Sie ein Tap-Ereignis, um Sprudeln in den Fähigkeiten von zepto.js_javascript zu verhindern

So implementieren Sie ein Tap-Ereignis, um Sprudeln in den Fähigkeiten von zepto.js_javascript zu verhindern

WBOY
WBOYOriginal
2016-05-16 16:14:181599Durchsuche

Das Beispiel in diesem Artikel beschreibt, wie Tap-Ereignisse implementiert werden, um Blasenbildung in zepto.js zu verhindern. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Ich arbeite derzeit an einer mobilen Version meiner Website. Ursprünglich wollte ich jQuery Mobile verwenden, aber die Datei war zu groß, also habe ich zepto.js verwendet

Da es bei der Verwendung von Klickereignissen auf mobilen Webseiten zu einer Verzögerung kommt, wird das Tap-Ereignis in zepto.js verwendet.

Mit dem Click-Ereignis können Sie stopPropagation verwenden, um Blasenbildung zu verhindern. Diese Methode ist jedoch für tap

ungültig

Jetzt muss ich einen solchen Effekt erzielen: Klicken Sie auf die Schaltfläche a.btn, zeigen Sie dann das div.panel an und blenden Sie das div.panel aus, wenn ich auf ein Nicht-div.panel klicke

$("a.btn").on("tap",function(e){
  e.stopPropagation();//该方法不起作用
  $("div.panel").show();
});
$(document).on("tap",function(e){
  $("div.panel").hide();
});

Durch Debugging-Tools können wir feststellen, dass das E-Objekt ein Zielattribut enthält, sodass wir dieses Attribut verwenden können, um den gewünschten Effekt zu erzielen:

$("a.btn").on("tap",function(){
  $("div.panel").show();
});
$(document).on("tap",function(e){
  if(!$(e.target).hasClass("btn")){
    $("div.panel").hide();
  }
});

Das ist die Lösung

Ich hoffe, dass dieser Artikel für das JavaScript-Programmierdesign aller hilfreich sein wird.

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