1

私はこの関数を持っていますが、関数全体を一度だけ実行したいです。どのように?

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

前もって感謝します!

4

1 に答える 1

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");
});

これにより、ハンドラーは(一致した要素ごとに)1回だけ実行されます。

によって一致する要素の数に関係なく、一度だけ実行したい場合は、次のよう$("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);
});
于 2013-09-26T19:12:25.127 に答える