只触发一次jQuery函数?

时间:2015-04-08 10:34:27

标签: jquery

我想只触发一次jQuery函数。

例如,如果用户加载页面,jQuery将被触发。就是这样。它不应该在重载或其他东西时触发。它应该只被触发一次。

这可能吗?如果是这样,怎么样?

2 个答案:

答案 0 :(得分:3)

试试这段代码:

<script type="text/javascript">
var trigger_flag = localStorage.getItem('trigger_flag');

if( !trigger_flag ) {
// invoke your function here
localStorage.setItem('trigger_flag', 'flag_is_set');
}
</script>

我已经使用JS localStorgae在调用方法后设置一个标志,并且在localStorage中设置标志之前不会再次调用它

答案 1 :(得分:1)

这样做(奇怪)的一个好方法是,如果使用服务器端模板引擎生成html页面,则只需在需要时将脚本添加到页面即可。

在客户端有几种方法可以做这样的事情,但它永远不会是100%:

  1. 在url中传递一个param,表明你是否需要运行该脚本,运行后运行脚本需要更改url。这样做的问题是,当您更改网址时,您重新加载页面,用户可以随时更改查询字符串。

  2. 使用cookies \ localstorage - 可以删除它们,这是一个问题。