我有一个带有标题和一些项目的列表。单击标题可切换项目的可见性。
但是,我想将标题转换为链接,对于较大的屏幕尺寸,此标题不应切换其子项的可见性,而应像正常链接一样工作。
我无法使这部分工作。我添加了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/