jquery - 有没有办法在 css 转换发生时阻止所有操作?

标签 jquery css transitions

我试图禁用所有操作,直到手动触发的转换完成。

我正在使用这个简单的代码:

myelem.click(function() {
   myotherelem.addClass('transition');
};

然后……

myelem.on('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd', function() {
   // I am done!
});

我正在寻找一种方法来禁用所有事件,无论是单击、触摸还是任何操作,直到动画结束。有什么想法吗?

最佳答案

如果“手动触发的所有操作”是指点击,那么将“指针事件:无”应用于所有绘制的元素应该可以完成工作。

JS:

myelem.click(function() {
    myotherelem.addClass('transition');
    body.addClass('freeze');
};

myelem.on('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd', function() {
    // I am done!
    body.removeClass('freeze')
});

CSS:

.freeze {
   pointer-events:none;
}

关于jquery - 有没有办法在 css 转换发生时阻止所有操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22749979/

相关文章:

javascript - 正则表达式未显示正确的错误消息

css - 为什么我的 DIV 不是 100% 高度?

html - 如何根据图像缩放 css shape-outside

ios - 当通话栏处于事件状态时,自定义 UIViewController 转换设置了错误的 topLayoutGuide 和 bottomLayoutGuide

css - div 中的图像 - 当鼠标悬停在潜水中的任何位置时

jquery - 如何使用 jquery 将数据呈现为 html 中的缩进列表?

javascript - 单击 Bootstrap 菜单按钮时加载静态 html

html - Bootstrap "img-responsive"为什么在我的代码中不起作用?

python - 元组中评估为 False 的变量

javascript - Jquery .click() 不工作多个按钮