我正在尝试使用 jQuery 在 css 动画完成并且它在很大程度上工作时触发一个事件,但由于某种原因,transitionend
直到我将鼠标移离相关对象时才会调用该事件。
这是方法:
function replaceWithSearch(){
var searchWrapper = constructSearchBox("");
$(this).addClass("animated fadeOut"); // css animation
$(this).on('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend',
function (e){
console.log(e);
$(this).parent().replaceWith(searchWrapper);
if (document.URL.indexOf("search?s=") == -1){
document.getElementById("searchbox").focus();
}
});
}
除了第一个 css 动画完成后,如果我将鼠标放在$(this)
元素上,transitionend
事件将不会触发,它似乎主要工作。一旦我将鼠标从元素上移开,一切都会完美运行。
我对这个真的很茫然,有什么想法吗?我正在使用animate.css中的 css 类。