Jquery 鼠标悬停功能不工作?
当屏幕尺寸小于768时,我想禁用mouseover和mouseleave选项。一切看起来都很好,但代码不起作用。有什么建议吗??n当屏幕大小大于768时,我只希望鼠标悬停选项起作用 myscript.jsJquery 鼠标悬停功能不工作?,jquery,Jquery,当屏幕尺寸小于768时,我想禁用mouseover和mouseleave选项。一切看起来都很好,但代码不起作用。有什么建议吗??n当屏幕大小大于768时,我只希望鼠标悬停选项起作用 myscript.js $(document).ready(function() { if ($(window).width() > 768) { $('.dropdown').mouseover(function()
$(document).ready(function()
{
if ($(window).width() > 768)
{
$('.dropdown').mouseover(function()
{
$('.dropdown-toggle', this).next('.dropdown-menu').show();
}).mouseout(function()
{
$('.dropdown-toggle', this).next('.dropdown-menu').hide();
});
}
else
{
$('.dropdown').off('mouseenter mouseleave');
}
$('.dropdown-toggle').click(function()
{
if ($(this).next('.dropdown-menu').is(':visible'))
{
window.location = $(this).attr('href');
}
});
});
$(window).resize(function()
{
if ($(window).width() > 768)
{
$('.dropdown').mouseover(function()
{
$('.dropdown-toggle', this).next('.dropdown-menu').show();
}).mouseout(function()
{
$('.dropdown-toggle', this).next('.dropdown-menu').hide();
});
}
else
{
$('.dropdown').off('mouseenter mouseleave');
}
$('.dropdown-toggle').click(function()
{
if ($(this).next('.dropdown-menu').is(':visible'))
{
window.location = $(this).attr('href');
}
});
});
如果有帮助,请尝试以下代码:)
$(文档).ready(函数(){
$('.dropdown').mouseover(函数(){
dropDownToggleShowHide(此项为false);
}).mouseout(函数(){
dropDownToggleShowHide(这是真的);
});
$('.dropdown toggle')。单击(函数(){
if($(this).next('.dropdown menu')。是(':visible')){
window.location=$(this.attr('href');
}
});
});
函数下拉切换显示隐藏(el,隐藏){
如果($(window).width(),您应该使用CSS媒体查询。关于您的代码,您的逻辑是错误的,您正在这里嵌套事件。您应该只检查$(window).width()
(或者更好地使用window.matchMedia()
)在mouseover/mouseout事件内部。顺便说一句,使用mouseenter
会更相关,我猜请检查此链接
$(document).ready(function() {
$('.dropdown').mouseover(function() {
dropDownToggleShowHide(this, false);
}).mouseout(function() {
dropDownToggleShowHide(this, true);
});
$('.dropdown-toggle').click(function() {
if ($(this).next('.dropdown-menu').is(':visible')) {
window.location = $(this).attr('href');
}
});
});
function dropDownToggleShowHide(el, hide){
if ($(window).width() <= 768) {
return;
}
if(hide){
$('.dropdown-toggle', el).next('.dropdown-menu').hide();
}
else{
$('.dropdown-toggle', el).next('.dropdown-menu').show();
}
}