繁体   English   中英

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

[英]Simple-Jekyll-Search will no longer trigger on-click after firing smoothState

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

遵循此问题中的建议之后: 如何在Javascript中模拟按钮按下,以在Simple-Jekyll-Search中触发搜索 ,并将以下代码段添加到库中,因此似乎onClick事件不再触发搜索事件在SmoothState加载新页面之后。

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

任何建议,将不胜感激。

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

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

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

当您在$(document).ready()上运行插件时,它将仅在当前页面上的元素上注册。 由于我们在每次加载时都注入新元素,因此我们需要再次运行插件,将其作用域仅限于新事物。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM