[英]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.