【发布时间】:2020-09-17 22:56:04
【问题描述】:
我想创建一个简单的用户交互,只需一个按钮即可开始和停止录制音频,例如 whatsapp。我查看了stackoverflow以了解我是否错了,因为我知道不可能在同一个元素上绑定两个点击事件,所以我决定在codepen上测试代码,但它不会产生预期的结果:
$('#audioBtn').on('click' ,function(e){
e.preventDefault();
if( $(this).hasClass('active') ){
$(this).removeClass('active')
.addClass('inactive');
console.log('Recording stopped');
}
});
$('#audioBtn').on('click' , function(e){
e.preventDefault();
if( $(this).hasClass('inactive') ){
$(this).addClass('active')
.removeClass('inactive');
console.log('Recording start');
}
});
发生的事情是两个事件同时登录到控制台,但这不是我想要的,我只想在用户录制时使用相同的按钮开始和停止录制并更改图标音频。有没有办法做到这一点?
【问题讨论】:
-
为什么不使用
else? -
@CarlBinalla 我试过了,但是不行,我不知道是因为我在codepen上测试过还是因为它没有触发的事件
-
我建议你只有一个类(默认css的主动覆盖规则),并改用“toggleClass”。
标签: javascript jquery html