我目前有以下事件处理程序:
$('#mainc').on("click", "ul.sort_ul li, ul.cat_items li", leftsort_click);
然后调用 leftsort_click 函数,开始如下:
function leftsort_click(event) {
if (!$(this).hasClass('sort_cat')) {
....
所有这一切都很好,问题是我现在正在从整个商店调用这个左键单击功能,我需要某种方式知道它是从哪里调用的。
我的方法是在触发函数的元素中添加一个 just_clicked 类。
因此,例如,我的下一页点击事件调用 leftsort_click,如下所示:
$('body').on("click", ".next_link", function(event) {
event.preventDefault();
if (!$(this).hasClass('disabled')) {
var active_rps=$('.res_page_select.active a').html().trim();
var new_rps = parseInt(active_rps)+1;
var new_rps_div = 'page_select_'+new_rps;
$('#'+new_rps_div).addClass('just_clicked');
var active_page = $('ul.sort_ul li.active, ul.cat_items li.active').attr('id');
$('#'+ active_page).trigger('click');
}
});
现在的问题是,如何在保留对单击元素的引用(this)的同时从第一个事件处理程序调用我的函数。这样我就可以做这样的事情:
$('#mainc').on("click", "ul.sort_ul li, ul.cat_items li", function(event){
$(this).addClass('just_clicked');
leftsort_click(this);
});
当我执行上述操作时,我对此(单击的元素)的引用丢失了。