2012-03-30 112 views
3

在jQuery中,我使用.hide();隱藏了我的元素。jQuery onhide事件處理程序

當我藏起東西時,是否有一個外殼處理程序被解僱?你看,我的代碼中有一堆元素,我隱藏了它們或者使用jQuery顯示它們很多次。爲了保持事情的有效性,我很樂意使用事件處理程序.hide()

有人能爲我指出正確的方向嗎?

非常感謝!

+1

如果需要,您可以提供hide()的回調函數,但我不認爲這是您正在尋找的。你能解釋你想達到的目標嗎? – Niyaz 2012-03-30 01:19:11

+0

沒有'onhide'事件,它是jQuery的自定義方法,它使用動畫在元素上創建「隱藏」效果。 – mowwwalker 2012-03-30 01:24:48

回答

4

您可以使用一個回調函數

$('#element').hide('slow', hideCallback); 

$('#element').show('slow', showCallback); 

function hideCallback() 
{ 
    // You can do your stuff here 
} 

function showCallback() 
{ 
    // You can do your stuff here 
} 
+2

不是'$('#element')。hide('slow',myCallback)'更簡單嗎? – Niyaz 2012-03-30 01:28:38

+0

我認爲是這樣,+1。 – 2012-03-30 01:29:26

+0

太棒了,謝謝! – 2012-03-30 17:25:13

2
$('p').on('ohWowIGotHidden', function(){ 
    document.write('O look, it works'); 
}); 

$('p').hide(function(){ 
    $(this).trigger('ohWowIGotHidden'); 
}); 

您可以創建自定義事件,並觸發它,只要你調用隱藏方法..

+1

看起來像這樣可以工作。你測試過了嗎? – Niyaz 2012-03-30 01:25:11

+1

我現在有:http://jsfiddle.net/kennis/BNQVT/ – 2012-03-30 02:08:58

1

可以在jQuery的覆蓋隱藏到調度調用原始函數後的事件。