Saya tahu saya terlambat ke pesta, tetapi bagi mereka yang masih mengalami masalah dengan penanganan klik tengah, periksa apakah Anda mendelegasikan acara tersebut. Dalam kasus pendelegasian, click
acara tidak terpicu. Membandingkan:
Ini berfungsi untuk klik tengah:
$('a').on('click', function(){
console.log('middle click');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="http://example.com">middle click me</a>
Ini tidak berfungsi untuk klik tengah:
$('div').on('click', 'a', function(){
alert('middle click');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
<a href="http://example.com">middle click here</a>
</div>
Jika Anda masih perlu melacak klik tengah menggunakan delegasi acara , satu-satunya cara seperti yang dinyatakan dalam tiket jQuery terkait , adalah dengan menggunakanmousedown
ataumouseup
sebagai gantinya. Seperti:
Ini berfungsi untuk klik tengah yang didelegasikan:
$('div').on('mouseup', 'a', function(){
console.log('middle click');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
<a href="http://example.com">middle click me</a>
</div>
Lihat secara online di sini .