Maison > interface Web > js tutoriel > Solution au problème selon lequel trigger() dans jquery ne peut pas déclencher le survol event_jquery

Solution au problème selon lequel trigger() dans jquery ne peut pas déclencher le survol event_jquery

WBOY
Libérer: 2016-05-16 16:00:25
original
1189 Les gens l'ont consulté

Je travaillais sur un projet aujourd'hui et j'ai rencontré un problème que je n'avais jamais rencontré auparavant, alors j'en ai pris note.

1. Explication de la méthode de déclenchement

Voici l'explication officielle :

Copier le code Le code est le suivant :

Description : exécute tous les gestionnaires et comportements attachés aux éléments correspondants pour le type d'événement donné.

Utilisation :
.trigger( eventType [, extraParameters] )

Le eventType comprend des événements javascript intégrés, des événements ajoutés par jQuery et des événements personnalisés. Par exemple :

$('#foo').bind('click', function()
{
 alert($(this).text());
});
$('#foo').trigger('click');
$('#foo').bind('custom', function(event, param1, param2)
{
 alert(param1 + "\n" + param2);
});
$('#foo').trigger('custom', ['Custom', 'Event']);
Copier après la connexion

est très puissant et est souvent utilisé lors de l'initialisation de la page.

2. Le déclencheur rencontre le survol

var $search=$('#header .search');
$search.find('li').hover(function()
{
 alert(1);
},function()
{
 alert(2);
});
$search.find('li').eq(0).trigger('hover');
Copier après la connexion

Le survol ne peut pas être déclenché. Mais :

var $search=$('#header .search');
$search.find('li').click(function()
{
 alert(1);
},function()
{
 alert(2);
});
$search.find('li').eq(0).trigger('click');
Copier après la connexion

Le clic de déclenchement est normal !

Solution :

var $search=$('#header .search');
$search.find('li').hover(function()
{
 alert(1);
},function()
{
 alert(2);
});
$search.find('li').eq(0).trigger('mouseenter');//hover修改为mouseenter/mouseleave/mouseover/mouseout
Copier après la connexion

La même situation existe avec jQuery.live(), mais l'utilisation de live n'est pas recommandée dans les versions postérieures à 1.7. Utilisez plutôt on().

Ce qui précède représente l’intégralité du contenu de cet article, j’espère que vous l’aimerez tous.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal