简体   繁体   中英

Click event fires twice, but only on touch devices

$('.classy').on('click', 'button', function(){
    console.log('clicked');
})

-

<div class='classy'>
    <button> - </button>
</div>

Any reason why this would fire twice on a touch device? It works perfectly with normal mouse events.

note: I've also tried .bind .live just to make sure, same problem.

Try passing the event and then invoking preventDefault().

$('.classy').on('click', 'button', function(e){
e.preventDefault();
console.log('clicked');
})

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM