2012-07-11 65 views
3

我有一个JQuery脚本,在wordpress-plugin表单上选择正确的单选按钮,然后点击更新按钮。问题是更新按钮重新加载脚本导致无限循环。如何使一个JQuery脚本只触发一次

我怎样才能确保脚本只做一次工作?这是我正在使用的代码:

$(document).ready(
    function() 
    { 
     $('input[value="Yes"]').attr('checked', 'checked'); 
     $(".update-button").trigger('click'); 
    } 
); 
+0

因此,更新按钮提交表单,我拿? – kevin628 2012-07-11 19:10:06

+0

我们可以看到'.update-button'的标记吗? – 11684 2012-07-11 19:13:13

+0

Document.ready将始终在文档加载时运行。这就是它的目的。你想让页面做什么?在用户重定向时提交内容? – Jeremy 2012-07-11 19:14:31

回答

2

一个选项是当点击页面刷新时不会丢失的区域中的更新时,存储值。刷新页面后,检查该值是否仍然存在。如果是,请不要重新执行脚本。我选择使用localStorage为我的例子,但饼干工作也是如此:

$(document).ready(function(){ 
    if(!localStorage.updated) { 
     $('input[value="Yes"]').attr('checked', 'checked'); 

     $(".update-button").trigger('click'); 
     localStorage.updated = "true"; 
    } 
}); 
+0

似乎很好的艾略特。但我想知道(这可能是一个愚蠢的问题..),但如果localStorage设置为true,当下一个人访问我的网站时会发生什么?我想我必须由我的网站的用户存储信息。你提到过cookies,那将如何工作? (之前从未与cookie一起工作过).. – Benno 2012-07-11 19:26:09

+0

@Benno:每个浏览器都有独立的'localStorage',所以它和cookie有相同的效果。 – 2012-07-11 21:06:46