Rumah >hujung hadapan web >tutorial js >Penyelesaian kepada masalah yang mencetuskan () dalam jquery tidak boleh mencetuskan hover event_jquery
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:
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.