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, clickacara 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 .