JavaScript函数被解雇?

时间:2012-03-17 09:24:21

标签: javascript jquery thickbox

我想问一些可能错误的事,但我不确定。

有没有办法知道何时执行特定功能,以便运行代码示例?我喜欢把它变成一个事件。

我遇到的问题是厚盒子。我喜欢根据显示的图像调整厚箱的大小。

为此,我需要知道何时执行厚盒。

请问好吗?

3 个答案:

答案 0 :(得分:2)

您可以重载thickbox插件调用。

我将假设它在thickbox()的集合上被调用,例如$('.container img').thickbox()

(function($) {

    var original = $.fn.thickbox;

    $.fn.thickbox = function() {
        // Whatever you need to do here.
        return original.apply(this, arguments);
    }

})(jQuery);

现在,当你打电话......

$('.container img').thickbox()

...在将控制权移交给原始函数之前,代码将调用您的新函数。

你可以做任何你想做的事情// Whatever you need to do here.:)

答案 1 :(得分:2)

我不是JS开发人员,但您可以创建一个回调函数,并在执行该特定函数时使其执行。

您可以在此处找到一个很好的解释:JavaScript Callback Scope

答案 2 :(得分:2)

Thickbox使用全局函数,因此您可以在下面执行:(如@alex建议的那样。)

(function($) {
    var original = tb_show;
    tb_show = function () {
        $(document).trigger('tb_show');
        return original.apply(this, arguments);
    }
})(jQuery);

然后你可以绑定事件:

$(document).bind('tb_show', function() {
    //event handler
});