【问题标题】:Links in toggle list not clickable because of js由于 js,切换列表中的链接不可点击
【发布时间】:2012-12-26 16:05:56
【问题描述】:

我知道是 javascript 导致了这个问题,但我不知道。当我滚动链接时,它显示为好像可以点击但不会点击。我也没有在我的 CSS 中使用任何 z-index。我试图设置它,但它没有任何区别。这个 js 里面有什么可能的原因吗?

$(function(){
$('li.an_item').css('pointer','default').css('list-style-image','none');
$('li.an_item:has(ul)').click(function(event){
        if (this == event.target) {
            $(this).css('list-style-image',
                (!$(this).children().is(':hidden')) ? 'url(/wp-content/themes/theme/images/arrow_sideways.png)' : 'url(/wp-content/themes/theme/images/arrow_down.png)');
            $(this).children().toggle('slow');
        }
        return false;
    })
    .css({cursor:'pointer', 'list-style-image':'url(/wp-content/themes/theme/images/arrow_sideways.png)'})
    .children().hide();
$('li:not(:has(ul))').css({cursor:'default', 'list-style-image':'none'});
});

【问题讨论】:

  • 摆脱return false;,它应该可以工作。
  • 但是如果他点击了一个inside的链接,那么if(this == event.target)就会失败,因为event.target是锚标签。
  • @Blender 成功了!谢谢!

标签: jquery css list hyperlink toggle


【解决方案1】:

摆脱return false;

return false; 等价于:

event.preventDefault();
event.stopPropagation();

preventDefault 阻止您的链接充当链接,这就是它不起作用的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-27
    • 2011-04-10
    • 1970-01-01
    • 2018-02-23
    • 2017-12-15
    • 2011-09-19
    • 2012-07-17
    相关资源
    最近更新 更多