【问题标题】:Unload js request on certain pages在某些页面上卸载 js 请求
【发布时间】:2012-05-24 14:58:40
【问题描述】:

我正在尝试卸载 JqueryMobile 正在缓存的请求。在我几乎所有的页面上,我都使用 FastClick.js,因为它大大降低了我的点击速度。使用 onload="initFastButtons();" 激活此脚本在身体标签上。有没有办法可以在某些页面上终止该请求?它导致我不需要快速点击的特定页面上的某些链接出现问题。如果我可以删除它,它将有助于解决我的问题。告诉我,谢谢!

【问题讨论】:

  • 你应该可以在你的 body 标签上使用 data-xxx 属性来做到这一点。绑定 jquery 处理程序以仅在 data-fastbuttons === "true" 时运行 initFastButtons。
  • 请原谅我对这件事太天真了,但你能说得更详细些吗?我更像是一个 jquery 新手。我会遇到的另一个麻烦是我假设这将在索引页面上运行并运行脚本,然后使用 jquery mobile 缓存所有其他页面。您能提供的任何帮助将不胜感激,谢谢!

标签: javascript jquery ios jquery-mobile cordova


【解决方案1】:

HTML5 规范允许您在所有元素上添加 data-xxx 属性,以存储您可以在 Javascript 中使用的元数据。这可以是你喜欢的任何东西——当然是字符串数据。所以你可以像这样向你的身体标签添加一个属性 -

接下来是在 Jquery Mobile 事件而不是正文负载上运行您的快速按钮代码。看看这里http://jquerymobile.com/demos/1.1.0/docs/api/events.html。您可能想要使用 pageload 或 pagebeforeshow 事件。

当调用加载事件的事件处理程序时,您希望使用 jqmData 方法(此处描述为http://jquerymobile.com/demos/1.1.0/docs/api/methods.html)来检查 body 标记是否具有 fastbuttons 属性。如果是,请运行代码来初始化快速按钮。

我不熟悉快速按钮,所以不知道它是如何缓存内容的。

【讨论】:

  • 嘿 CodeMonkey,非常感谢您的帮助。我还在慢慢地试图弄清楚这一点。您能否让我知道我是否走在正确的道路上……似乎没有按原样工作。对不起,如果我完全离开:git://gist.github.com/2783222.git
  • 你是个摇滚明星。在这一点上,你已经提供了足够多的帮助,我对要求更多感到难过,所以这是你检查的机会。但是我试过了,它似乎没有用。我假设在 body 标签上我需要这样写:""?
  • 否 - 属性必须是 data-xxx 所以你想要
  • 好的,还是不行。我想我只是要从脚本中提取 fastclick 来解决问题。非常感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2011-12-06
  • 2010-12-21
  • 1970-01-01
  • 2020-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多