2013-09-26 24 views
1

我有這個功能,但我只想讓整個功能運行一次。怎麼樣?如何強制點擊功能運行一次

$("a.en").not("a.flag").click(function() { 
    $("iframe.goog-te-banner-frame").attr("style","visibility:hidden"); 
    $("body").attr("style","top:0px !important"); 
}); 

在此先感謝!

回答

4

使用one()

$("a.en").not("a.flag").one('click', function() { 
    $("iframe.goog-te-banner-frame").attr("style","visibility:hidden"); 
    $("body").attr("style","top:0px !important"); 
}); 

這不僅會(每個匹配的元素)執行一次的處理程序。

如果你只希望它執行一次,不管有多少種元素$("a.en").not("a.flag")匹配,你可以這樣做:

$("a.en").not("a.flag").on('click', function runOnce() { 
    $("iframe.goog-te-banner-frame").attr("style","visibility:hidden"); 
    $("body").attr("style","top:0px !important"); 
    $("a.en").not("a.flag").off('click', runOnce); 
}); 
+0

謝謝時,我會盡快,我會接受這個答案。我可以在這裏問你一個問題嗎?如果不是,我會發表另一個問題。 –

+0

如果問題有助於澄清我的答案中的某些內容,或者我的答案沒有完全回答您的原始問題。否則,問一個新問題可能會更好。 –

+0

你的回答是正確的。但我只是意識到這是導致問題的「onclick」屬性,而不是使用jQuery的「click」事件。你能指導我如何做同樣的定位屬性來代替。如果您可以在此評論區發帖,則無需在上面發佈更多代碼。 –

相關問題