Javascript jQuery选择没有任何JS事件链接的链接,让PJAX只处理链接?

Javascript jQuery选择没有任何JS事件链接的链接,让PJAX只处理链接?,javascript,jquery,twitter-bootstrap,pjax,Javascript,Jquery,Twitter Bootstrap,Pjax,我有一个基于WordPress和Woocommerce的基本购物网站。当然,很多按钮和链接都有Javascript函数,可以防止转到链接并执行其他操作的默认行为。不幸的是,如果我将PJAX设置为选择所有$'a'元素,那么AJAX函数或javascript(甚至是下拉函数)将无法正常工作,PJAX将接管并刷新页面 例如,如果我单击一个引导下拉链接,它将转到该链接而不是打开下拉列表 我想知道是否有一种方法可以使用jQuery选择只指向链接且没有JS事件监听的元素。试试这个演示,让我知道它是否适用于您

我有一个基于WordPress和Woocommerce的基本购物网站。当然,很多按钮和链接都有Javascript函数,可以防止转到链接并执行其他操作的默认行为。不幸的是,如果我将PJAX设置为选择所有$'a'元素,那么AJAX函数或javascript(甚至是下拉函数)将无法正常工作,PJAX将接管并刷新页面

例如,如果我单击一个引导下拉链接,它将转到该链接而不是打开下拉列表


我想知道是否有一种方法可以使用jQuery选择只指向链接且没有JS事件监听的元素。

试试这个演示,让我知道它是否适用于您的场景

HTML:


如果没有更多关于页面的信息,就没有办法知道。即使是具有有效URL的链接也可能已经在为我们所知的所有内容执行一些ajax。我只想知道,是否有这样一个元素选择器,即使具有有效URL,也会执行一些JS,而不是转到我可以阻止的链接。如果没有的话,我会用另一种方式自定义选择器,或者给我想要PJAX的链接一个类。不,没有类似的东西,把类放在你想要的对象上是最好也是最常见的方法go@yaharga选择所有设置了jQuery事件处理程序但不设置JavaScript全局事件处理程序的元素并不困难像onclick这样的处理程序。您需要选择哪些?@Alternatex我需要选择所有包含jQuery的元素,这些元素阻止链接进入href。
<a href="#" class="link-with-handler">Link 1</a>
<a href="#">Link 2</a>
<a href="#" class="link-with-handler">Link 3</a>
<a href="#">Link 4</a>
<br>
<br>
<button id="test">Which links have no jQuery click event bound?</button>
$(function() {
    // Assign handler to links with class 'link-with-handler'
    $('.link-with-handler').click(function() { alert('handled'); });

    // Test function
    $('#test').click(function(){
        // Get all links
        var links = $('a');

        // Iterate through links testing each one for the event handler
        $.each(links, function( index, value ) {
            var ev = $._data(value, 'events');
            if (!ev || !ev.click) { 
                alert(value.innerText + ' has no jQuery click handler bound to it.');  
            }
        });
    });
});