Heim  >  Artikel  >  Web-Frontend  >  Probleme bei der Verwendung von Delegaten in jQuery_jquery

Probleme bei der Verwendung von Delegaten in jQuery_jquery

WBOY
WBOYOriginal
2016-05-16 15:51:331026Durchsuche

Ich bin es gewohnt zu binden und zu leben, aber ich bin es nicht gewohnt zu delegieren...

Unterstützung für die Bindung von Ereignissen an dynamisch generierte Tag-Elemente kann Live und Delegate sein, aber die neue Version unterstützt nicht mehr Live, sondern nur Delegate

Delegate ist wirklich etwas Besonderes und unterscheidet sich von anderen Event-Bindungsstilen.

Ich bin gestolpert, weil ich an den vorherigen Bindungsstil gewöhnt war.

Um es einfach auszudrücken: Es ist Nachlässigkeit.

Die

delegate()-Methode fügt dem angegebenen Element (einem untergeordneten Element des ausgewählten Elements) einen oder mehrere Ereignishandler hinzu und gibt die Funktion an, die ausgeführt werden soll, wenn diese Ereignisse auftreten.

Ereignishandler, die die Methode „delegate()“ verwenden, gelten für aktuelle oder zukünftige Elemente (z. B. neue Elemente, die durch Skripte erstellt wurden).

Grammatik

$(selector).delegate(childSelector,event,data,function)

Parameter Beschreibung
childSelector Erforderlich. Gibt ein oder mehrere untergeordnete Elemente an, an die Ereignishandler angehängt werden.
Ereignis

Erforderlich. Gibt ein oder mehrere Ereignisse an, die dem Element zugeordnet werden sollen.

Mehrere Ereigniswerte durch Leerzeichen getrennt. Muss ein gültiges Ereignis sein.

data 可选。规定传递到函数的额外数据。
function 必需。规定当事件发生时运行的函数。

比如这段小代码啊

<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
 $("div").delegate("button","click",function(){
  $("p").slideToggle();
 });
});
</script>
</head>
<body>
<div style="background-color:red">
<p>这是一个段落。</p>
<button>请点击这里</button>
</div>

</body>
</html>

我老写成了

$(document).ready(function(){
 $("div").delegate($("button"),"click",function(){
  $("p").slideToggle();
 });
});

子选择器不需要选择起来了..

不然就像我那样出现不知名的错误(点击会触发click,但点击其他元素也会触发click...)

以上所述就是本文的全部内容了,希望大家能够喜欢。

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