我想問一些可能是錯的,但我不確定。JavaScript函數被觸發?
有沒有辦法在執行特定的功能,以便運行的代碼樣本知道嗎?我喜歡讓它像一個事件。
我的問題是粗框。我喜歡根據顯示的圖像調整thickbox的大小。
要做到這一點,我需要的是執行粗框的時候就知道了。
有什麼想法嗎?
我想問一些可能是錯的,但我不確定。JavaScript函數被觸發?
有沒有辦法在執行特定的功能,以便運行的代碼樣本知道嗎?我喜歡讓它像一個事件。
我的問題是粗框。我喜歡根據顯示的圖像調整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
});
哇!謝謝你們!!這對我很有用! – 2012-03-17 10:11:46
你可以重載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.
:)
不幸的是貌似不工作:(我有嘗試。「的console.log(‘你好’);」返回original.apply(這一點,artguments)之前,沒有迴應:( – 2012-03-17 09:30:59
@MerianosNikos記得我做了一個假設如何。你叫thickbox? – alex 2012-03-17 09:34:43
沒關係,我知道:) xaxaxa。正如你所看到的,我已經組成了評級;)。我已經加載了WordPress默認的Thickbox實現,現在允許我調整它的大小。 :( – 2012-03-17 09:36:07
我不是JS開發者,但你可以創建一個回調函數,並執行特定功能時,它執行。
您可以在這裏找到一個很好的解釋:JavaScript Callback Scope
這可以在不影響thickbox插件的源代碼的情況下完成嗎? – 2012-03-17 09:32:53
只是一個說明:[thickbox不再維護](http://jquery.com/demo/thickbox/)。 – Zeta 2012-03-17 09:36:44