Maison  >  Article  >  interface Web  >  Problèmes d'utilisation du délégué dans jQuery_jquery

Problèmes d'utilisation du délégué dans jQuery_jquery

WBOY
WBOYoriginal
2016-05-16 15:51:331026parcourir

J'ai l'habitude de lier et de vivre, mais je n'ai pas l'habitude de déléguer...

La prise en charge de la liaison d'événements à des éléments de balise générés dynamiquement peut être en direct et par délégation, mais la nouvelle version ne prend plus en charge la diffusion en direct, uniquement par délégué

Delegate est vraiment spécial, différent des autres styles de liaison d'événements.

J'ai trébuché parce que j'étais habitué au style de liaison précédent.

Pour faire simple, c'est de la négligence.

La méthode

delegate() ajoute un ou plusieurs gestionnaires d'événements à l'élément spécifié (un élément enfant de l'élément sélectionné) et spécifie la fonction à exécuter lorsque ces événements se produisent.

Les gestionnaires d'événements utilisant la méthode délégué() s'appliquent aux éléments actuels ou futurs (tels que les nouveaux éléments créés par des scripts).

Grammaire

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

Paramètres Description
childSelector Obligatoire. Spécifie un ou plusieurs éléments enfants auxquels les gestionnaires d'événements sont attachés.
événement

Obligatoire. Spécifie un ou plusieurs événements à attacher à l'élément.

Plusieurs valeurs d'événements séparées par des espaces. Doit être un événement valide.

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...)

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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn