【发布时间】:2012-03-17 09:24:20
【问题描述】:
我想问一些可能有问题的问题,但我不确定。
有没有办法知道何时执行特定函数以运行代码示例?我喜欢把它变成一个活动。
我的问题是厚盒子。我喜欢根据显示的图像调整厚框的大小。
为此,我需要知道何时执行厚框。
有什么想法吗?
【问题讨论】:
标签: javascript jquery thickbox
我想问一些可能有问题的问题,但我不确定。
有没有办法知道何时执行特定函数以运行代码示例?我喜欢把它变成一个活动。
我的问题是厚盒子。我喜欢根据显示的图像调整厚框的大小。
为此,我需要知道何时执行厚框。
有什么想法吗?
【问题讨论】:
标签: javascript jquery thickbox
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
});
【讨论】:
您可以重载厚盒插件调用。
我将假设它是在带有 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.的地方做任何你想做的事:)
【讨论】:
我不是 JS 开发人员,但您可以创建一个回调函数,并使其在执行该特定函数时执行。
你可以在这里找到一个很好的解释:JavaScript Callback Scope
【讨论】: