![](/img/trans.png)
[英]How do I reference jQuery from my HTML/JavaScript application?
[英]javascript / jquery - How do I pass a reference to my clicked element to my function
我目前有以下事件处理程序:
$('#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类。
因此,例如,我的下一页click事件将如下所示调用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');
}
});
现在解决问题,如何在保持对单击元素的引用(本)的同时从第一个事件处理程序调用函数。 这样我就可以做这样的事情:
$('#mainc').on("click", "ul.sort_ul li, ul.cat_items li", function(event){
$(this).addClass('just_clicked');
leftsort_click(this);
});
当我执行上述操作时,对此(单击元素)的引用丢失了。
尝试这个:
$('#mainc').on("click", "ul.sort_ul li, ul.cat_items li", function(event){
$(this).addClass('just_clicked');
leftsort_click.call(this);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.