1

我不太明白 enquire.js 的“设置”处理程序背后的想法。

案子:

当您不在小视口(lt 600px)中时,我想通过ajax加载内容一次。

我自然会这样做enquire.register('(min-width: 600px)', { setup: myFunction });

问题:

现在我对此进行了多次测试,但是当您在小屏幕中时,设置处理程序也会被触发,这完全消除了设置处理程序 imo 的好处,因为您只想在输入大于的视口时加载 ajax 内容600px,不是吗?

请参阅示例 jsfiddle

结论:

所以实际上我什至不需要设置处理程序,因为我只需将内容加载到查询寄存器之外并且会产生相同的效果。(这当然不是我想要的……)

有人可以告诉我,如果我只是误解了设置的目的,还是我遗漏了什么?

4

1 回答 1

2

与标志结合使用deferSetup以将设置回调推迟到第一次匹配。此示例说明了该功能:

enquire.register(someMediaQuery, {
  setup : function() {
    console.log("setup");
  },
  deferSetup : true,

  match : function() {
    console.log("match");
  },

  unmatch : function() {
    console.log("unmatch");
  }
});

您可以在这里看到一个工作示例:http ://wicky.nillia.ms/enquire.js/examples/defer-setup/

于 2014-02-12T13:03:15.880 回答