在触发smoothState后,Simple-Jekyll-Search将不再触发点击

时间:2015-07-01 23:12:50

标签: javascript jquery jekyll jekyll-extensions smoothstate.js

我目前正在尝试使用Simple-Jekyll-SearchSmoothState的页面上使用How do you simulate a button press in Javascript, to trigger searching in Simple-Jekyll-Search来实施点击式搜索活动。

在遵循此问题中的建议:data.table#1105并将以下代码段添加到库后,在SmoothState加载新页面后,onClick事件似乎不再触发搜索事件。

$('#yourbutton').click(function(){
    render( searcher.search(store, opt.searchInput.value) );
})

任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:0)

README的FAQ部分中有一节可能有所帮助。这是摘录:

  

帮助!我的$(document).ready()插件在刷新时工作正常但是   在第二页加载中断。

     

smoothState.js提供了onAfter   回调函数,允许您重新运行插件。这可以   如果你不熟悉AJAX的工作方式,那就太棘手了。

     

当你在$(document).ready()上运行一个插件时,它会注册   仅适用于当前页面上的元素。因为我们正在注射   每个负载的新元素,我们需要再次运行插件,确定它的范围   只是新的东西。

     

执行此操作的一种好方法是将插件初始化包装在一个   我们在$ .fn.ready()和onAfter上调用的函数。你会想要的   每次初始化插件时指定上下文以便您   不要双重绑定它们。这称为“模块执行   控制器”。