Jquery 启用和禁用单击时的默认行为
我有一个带有标题和一些项目的列表。单击标题可切换项目的可见性 然而,我想把标题变成一个链接,对于较大的屏幕尺寸,这个标题不应该切换其子项的可见性,而只是像一个普通的链接一样 我不能让这个部件工作。我添加了return false/true,但它不起作用。有更好的方法吗 js:Jquery 启用和禁用单击时的默认行为,jquery,slidetoggle,Jquery,Slidetoggle,我有一个带有标题和一些项目的列表。单击标题可切换项目的可见性 然而,我想把标题变成一个链接,对于较大的屏幕尺寸,这个标题不应该切换其子项的可见性,而只是像一个普通的链接一样 我不能让这个部件工作。我添加了return false/true,但它不起作用。有更好的方法吗 js: var头=$('h3'); 变量列表=$('ul'); 变量宽度=$(窗口).width(); header.click(函数(){ 崩溃(这个); }); var坍缩=函数(el){ 如果($(窗口).width()
var头=$('h3');
变量列表=$('ul');
变量宽度=$(窗口).width();
header.click(函数(){
崩溃(这个);
});
var坍缩=函数(el){
如果($(窗口).width()<699){
$(el).next().slideToggle();
返回false;
}否则{
$(el.next().show();
返回true;
}
};
.用于忽略链接
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();
}
};
标题。单击(函数(e){
崩溃(本,e);
});
var崩溃=功能(el,事件){
如果($(窗口).width()<699){
event.preventDefault();
$(el).next().slideToggle();
}否则{
$(el.next().show();
}
};
另外,我认为
else{..}
部分不需要,因为它可以导航到另一个链接地址。您可以使用窗口。matchMedia()
来支持匹配的css媒体查询。有关示例,请查看以下代码
var media = window.matchMedia("(min-width: 699px)");
media.addListener(function(m)}{
header.unbind('click');
if(m.matches){
e.preventDefault();
$(el).next().slideToggle();
}
})
如果媒体查询被js命中,这将绑定相应的点击处理程序。尝试一下,你会得到你想要的结果。我在代码中看到的一个缺陷是,如果用户尝试流体布局,它不会重新绑定事件。只会让人困惑。你能解释一下吗?根据你的Q,如果<代码>如果是?那时我的小提琴能用了。将输出窗口的大小增加到大于699,并使用全屏>699进行检查抱歉,您完全正确。它现在可以正常工作了。:-)
var media = window.matchMedia("(min-width: 699px)");
media.addListener(function(m)}{
header.unbind('click');
if(m.matches){
e.preventDefault();
$(el).next().slideToggle();
}
})