我正在使用 ajaxify.js 插件https://github.com/browserstate/ajaxify动态加载内容。
我有许多click
函数可以在准备好的文档上绑定,但必须另外将这些函数放在我的 ajax 加载函数中,以将点击事件重新绑定到新添加的内容。我之前尝试过使用一组live
函数,但它们不起作用。
无论如何,我有两次以下代码,一次在 a 内,document.ready(function(){ })
一次在内容加载后的 ajaxify.js 内。
我知道这是多余的,但我不确定如何只编写一次函数,以便我可以在其他地方“包含”它们。如何优化这些功能,以便整合它们并以有效的方式再次使用它们?
谢谢!
var $filterclear = $('.filters .filter-clear'),
filtercount = $filterclear.length,
$searchedfor = $('.searched-for'),
is_search = $searchedfor.length;
$filterclear.bind('click', function(){
var $me = $(this);
if(filtercount == 3) {
$('.clear-all.filter-clear').addClass('filter-out').fadeOut('fast');
$(this).addClass('filter-out').fadeOut('fast');
} else {
$(this).addClass('filter-out').fadeOut('fast');
}
if($me.hasClass('clear-all') || filtercount == 1) {
$filterclear.addClass('filter-out').fadeOut('fast');
if(is_search !== 0) {
$('.filters').fadeOut();
}
}
});
$('.tag.remove-term').bind('click', function(){
var $me = $(this),
mytext = $me.text(),
$myfilter = $('.filters .filter-clear:contains("'+ mytext +'")');
if(filtercount == 3) {
$('.clear-all.filter-clear').addClass('filter-out').fadeOut('fast');
$myfilter.addClass('filter-out').fadeOut('fast');
} else {
$myfilter.addClass('filter-out').fadeOut('fast');
}
});
$searchedfor.find('.filter-clear').bind('click',function(){
$searchedfor.fadeOut();
});