在点击时启用和禁用默认行为

在点击时启用和禁用默认行为

我有一个带有标题和一些项目的列表。单击标题可切换项目的可见性。

但是,我想将标题转换为链接,对于较大的屏幕尺寸,此标题不应切换其子项的可见性,而应像正常链接一样工作。

我无法使这部分工作。我添加了return false / true,但是它不起作用。有一个更好的方法吗?

js:

var header = $('h3');
var list = $('ul');
var width = $(window).width();

header.click(function() {
    collapse(this);
});

var collapse = function (el) {
    if ($(window).width() < 699) {
        $(el).next().slideToggle();
        return false;
    } else {
        $(el).next().show();
        return true;
    }
};


JsFiddle

最佳答案

使用event.preventDefault();忽略链接,

Fiddle

header.click(function(e) {
    collapse(this,e);
});

var collapse = function (el,event) {
    if ($(window).width() < 699) {
        event.preventDefault();
        $(el).next().slideToggle();

    } else {
        $(el).next().show();
    }
};


另外,我认为不需要else{..}部分,因为它仍然可以导航到另一个链接地址。

关于jquery - 在点击时启用和禁用默认行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37919528/

10-09 18:04