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;/*…*/}