我对 jQuery 有一个奇怪的问题。
<a>
我有一个函数,它在标签的事件上执行。
link.click(someAction);
在动作中,我修改了另一个 div 元素,在这里我只是设置了一些 CSS 参数并修改了类。
这按预期工作。
现在,我想someAction
使用 bool 参数进行扩展。
我想我现在可以按如下方式调用该方法:
link.click(function () {
someAction(true);
});
不幸的是,这不起作用。我不知道为什么。
该方法被调用,一切都被调用,但 CSS 和类根本没有改变。
然后再次通过调用完全相同的方法link.click(someAction);
来工作。
谁能告诉我为什么?
这是一些代码
var openPopover = function( showOverlay ){
if (typeof showOverlay === "undefined" || showOverlay === null) showOverlay = true;
if (showOverlay) {
// Add transparent overlay
overlay.show();
}
// Select popover next to the clicked item
popover = $(this).next("div.popover");
// It positioned underneath the clicked item, with the spacing above
// Display the popover
popover.show();
// Reset classes
popover.removeClass("hide-animation");
popover.addClass("show-animation");
var animationEnd = function() {
$(overlay).off("webkitTransitionEnd");
$(overlay).off("oTransitionEnd");
$(overlay).off("transitionend");
};
// Add animation did end observer
$(overlay).on("webkitTransitionEnd", animationEnd);
$(overlay).on("oTransitionEnd", animationEnd);
$(overlay).on("transitionend", animationEnd);
// Run animations
popover.addClass("shown");
overlay.addClass("shown");
// If the browser doesn't support css3 animations, we call it manually
if (!supportsCSSAnimations) {
setTimeout(animationEnd, animationDuration);
}
};
selectButton.hover(openPopover); // Opens the popover correctly
selectButton.hover(function () {
openPopover(true); // Doesn't work
});