Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何强制单击功能运行一次_Jquery - Fatal编程技术网

Jquery 如何强制单击功能运行一次

Jquery 如何强制单击功能运行一次,jquery,Jquery,我有这个函数,但我只希望整个函数运行一次。怎么做 $("a.en").not("a.flag").click(function() { $("iframe.goog-te-banner-frame").attr("style","visibility:hidden"); $("body").attr("style","top:0px !important"); }); 提前谢谢 使用: 只执行一次处理程序(每个匹配元素) 如果您只希望它执行一次,而不管有多少个元素与$(“a.en”

我有这个函数,但我只希望整个函数运行一次。怎么做

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

使用:

只执行一次处理程序(每个匹配元素)

如果您只希望它执行一次,而不管有多少个元素与
$(“a.en”)。而不是(“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);
});
使用:

只执行一次处理程序(每个匹配元素)

如果您只希望它执行一次,而不管有多少个元素与
$(“a.en”)。而不是(“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);
});

谢谢,我会尽快接受这个答案。我能在这里再问你一个问题吗?如果没有,我将发布另一个问题。如果这个问题有助于澄清我的答案中的某些内容,或者如果我的答案没有完全回答你原来的问题。否则,最好问一个新问题。你的答案是正确的。但我刚刚意识到是“onclick”属性导致了问题,而不是使用jQuery的“click”事件。你能不能告诉我如何以属性为目标进行同样的操作。如果您可以在此注释区域中发布,则无需在上面发布更多代码。因此,我不想删除“onclick”属性,只需在该属性运行一次后禁用该属性。我不确定如何使用内联事件处理程序。您可能只需要使用bool标志,如下所示:
var hasRun=false;函数clickHandler(){if(hasRun){return;}hasRun=true;/*…*/}
谢谢,我会尽快接受这个答案。我能在这里再问你一个问题吗?如果没有,我将发布另一个问题。如果这个问题有助于澄清我的答案中的某些内容,或者如果我的答案没有完全回答你原来的问题。否则,最好问一个新问题。你的答案是正确的。但我刚刚意识到是“onclick”属性导致了问题,而不是使用jQuery的“click”事件。你能不能告诉我如何以属性为目标进行同样的操作。如果您可以在此注释区域中发布,则无需在上面发布更多代码。因此,我不想删除“onclick”属性,只需在该属性运行一次后禁用该属性。我不确定如何使用内联事件处理程序。您可能只需要使用bool标志,如下所示:
var hasRun=false;函数clickHandler(){if(hasRun){return;}hasRun=true;/*…*/}