0

我目前正在尝试在带有SmoothState的页面上使用Simple-Jekyll-Search来实现单击搜索事件。

在遵循这个问题中写的建议之后:How do you simulation a button press in Javascript, to trigger search in Simple-Jekyll-Search,并将以下代码段添加到库中,看来 onClick 事件不再触发搜索事件SmoothState 加载新页面后。

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

任何建议,将不胜感激。

4

1 回答 1

0

自述文件的常见问题部分中有一个部分可能会有所帮助。这是摘录:

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

smoothState.js 提供了 onAfter 回调函数,允许您重新运行插件。如果您不熟悉 AJAX 的工作原理,这可能会很棘手。

当您在 $(document).ready() 上运行插件时,它只会在页面上当前的元素上注册。由于我们每次加载都注入新元素,我们需要再次运行插件,将其范围限定为新的东西。

一个很好的方法是把你的插件初始化包装在一个我们在 $.fn.ready() 和 onAfter 上调用的函数中。每次初始化插件时都需要指定上下文,以免双重绑定它们。这称为“模块执行控制器”。

于 2015-07-07T14:40:56.150 回答