Rumah >hujung hadapan web >tutorial js >Penyelesaian kepada masalah yang mencetuskan () dalam jquery tidak boleh mencetuskan hover event_jquery

Penyelesaian kepada masalah yang mencetuskan () dalam jquery tidak boleh mencetuskan hover event_jquery

WBOY
WBOYasal
2016-05-16 16:00:251192semak imbas

Saya sedang mengerjakan projek hari ini dan menghadapi masalah yang tidak pernah saya hadapi sebelum ini, jadi saya mencatatnya.

1. Penjelasan kaedah pencetus

Ini adalah penjelasan rasmi:

Salin kod Kod adalah seperti berikut:

Penerangan: Laksanakan semua pengendali dan gelagat yang dilampirkan pada elemen yang dipadankan untuk jenis acara yang diberikan.

Penggunaan:
.trigger( eventType [, extraParameters] )

EventType termasuk acara terbina dalam javascript, acara tambah jQuery dan acara tersuai. Contohnya:

$('#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']);

sangat berkuasa dan sering digunakan semasa permulaan halaman.

2. Pencetus bertemu tuding

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

Tuding tidak boleh dicetuskan. Tetapi:

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

Mencetuskan klik adalah perkara biasa!

Penyelesaian:

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

Situasi yang sama wujud dengan jQuery.live(), tetapi live tidak disyorkan untuk digunakan dalam versi selepas 1.7 Use on().

Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn