调用覆盖的 .click() 方法

Invoke overwritten .click() method

我必须为wordpress修改一个插件。 我在外部 js 文件中有以下代码:

jQuery(".ep_filter a").click(function(t) { // Here it sorts li elements with quicksand });

所以当用户点击 li 元素时,上面的代码就会执行。

所以现在我想在页面加载时调用上面的方法。因为我可以给带有类别的站点一个参数。所以我想过滤元素。

当我在对象上执行 click() 时,它不会 运行 覆盖方法。它只是执行正常的点击并导航到 href。

包括e.preventDefault()

jQuery(".ep_filter a").click(function(e) { 
    e.preventDefault()
    // Here it sorts li elements with quicksand 

});

但您可能希望用户能够在手动点击时点击 a 链接,因此您可能需要考虑一个标志或其他东西


版本 2

我建议将点击事件内部发生的事情分离到它自己的函数中。这样,您就可以调用该函数,而不必依赖触发的点击。 IE。从准备好的文档中调用它。

$(document).ready(function(){        
    var liTarget = $(myOnloadVariable)
    quicksandSortLi(liTarget );

})

jQuery(".ep_filter a").click(function(e) { 
    quicksandSortLi($(e.target)); //send a dom-object to the quicksand function
});

function quicksandSortLi(targetLi){
    var target  = event.target //this is which li was clicked on.
    // Here it sorts li elements with quicksand
}