1

我在使用 jquery 选择器的网站之一遇到问题:

$('a[title]').click(...)

只有在站点的根目录中才会被调用。

当您单击页面顶部的导航时,div 会闪烁并通过 AJAX 加载内容,当您关闭它并尝试重新打开时,不会调用选择器。

编辑:这是创建导航链接的地方:

<a title="unternehmen" href="http://cheloufi.com/enoi_v2/">Unternehmen</a>
<a title="leistungen" href="http://cheloufi.com/enoi_v2/leistungen/">Leistungen</a>
<a title="information" href="http://cheloufi.com/enoi_v2/information/">Information</a>

另请注意,即使 href 属性是“http://cheloufi.com/enoi_v2/”,当您单击链接时,站点也会重定向到“http://cheloufi.com/enoi_v2/#/enoi_v2/”。

然后让 div 推出:

$('a[title]').on('click', function() {

    if(contentState==0){                                                                                    //check content state                                                                                                                               

      contentOpen();                                                                                        //open content

      $('#toggleBut').css({backgroundPosition:'0px -40px'});

      contentState = 1;                                                                                     //indicate content is open

    }else{

      contentClose();   

     $('#toggleBut').css({backgroundPosition:'0px 0px'});

      contentState = 0;

    }
});

但是,该方法仅在您第一次单击链接时被调用,而不是在任何连续时间。

此外,这是一个修改后的 WordPress 主题,如果这有什么不同的话。

有没有人遇到过这样的问题?

4

2 回答 2

0

应该

$('a[title]').on('click', function() {alert('my function here')})
或者
$('body').on('click', 'a[title]', function() {alert('my function here')})

将事件处理程序附加到新内容

编辑

这就是您的网站在我看来的样子

地点

这就是你说的问题吗?
因为内容总是为我加载,但在我的屏幕之外。

于 2012-09-18T11:50:33.443 回答
0

用于.on()附加事件处理程序 - 您的click处理程序将仅附加到页面加载时存在于 DOM 中的元素

$(document).on('click', 'your_selector', function() {
  // your code
});
于 2012-09-18T11:50:56.157 回答