Javascript 当触发响应jQuery函数时,该函数不会';不要停止射击

Javascript 当触发响应jQuery函数时,该函数不会';不要停止射击,javascript,jquery,css,media-queries,Javascript,Jquery,Css,Media Queries,我在响应地启动某些jQuery/JavaScript函数时遇到了问题。我已经阅读了以下文章:它描述了如何仅在特定屏幕分辨率下启动JavaScript/jQuery函数,但使用与CSS媒体查询相同的分辨率(例如,在0px到767px之间)。这是我使用的代码: jQuery/JavaScript: 使用的CSS: 请参阅上的完整模态函数 我使用上面的jQuery代码来实现模态窗口函数。我希望这个模态函数只在台式机上工作并打开模态,而不是在小分辨率(

我在响应地启动某些jQuery/JavaScript函数时遇到了问题。我已经阅读了以下文章:它描述了如何仅在特定屏幕分辨率下启动JavaScript/jQuery函数,但使用与CSS媒体查询相同的分辨率(例如,在0px到767px之间)。这是我使用的代码:

jQuery/JavaScript:

使用的CSS:

请参阅上的完整模态函数

我使用上面的jQuery代码来实现模态窗口函数。我希望这个模态函数只在台式机上工作并打开模态,而不是在小分辨率(<767 px)上。然而,我面临的问题是,上面文章中的jQuery解决方案确实有效,但一旦我在桌面上打开HTML页面并将窗口调整为手机屏幕分辨率,模态函数仍会启动,因此模态窗口仍会打开,我希望在移动分辨率(<767px)下停止。但是,如果我首先在手机分辨率上加载HTML页面,则模态函数不会启动,因此它确实按照我希望的方式工作。


我认为这与模态函数有关,一旦我将其从桌面分辨率调整为手机分辨率,模态函数仍在运行。如果我从桌面分辨率调整为手机分辨率,而不刷新页面,是否有办法使其工作,从而使模式功能停止启动?

Erm。。将事件处理程序分配给activator,但不会在“桌面”调整大小时将其删除。如果从CheckSize函数中移动或复制条件:

if ($(".mytext").css("display") == "none")
对于第一个模态事件:

$(".activator").click(function()  {
if ($(".mytext").css("display") == "none")           $('.modal- 
wrapper').show();
});

这会奏效的

当屏幕大小大于767时,mytext元素将被隐藏(display=none)。所以是的,如果你在“桌面”上打开页面,它会触发,模态函数将立即执行,与调整大小无关。@Esko是的,我知道。但我想要的是在我以桌面分辨率打开网页时启动模式函数,然后一旦我将浏览器窗口调整为小于767px的宽度,我希望模式函数停止启动,这样模态就不会再启动了。我不知道你为什么要竭尽全力不在桌面上附加一些EventHandler,如果元素被隐藏,它们也不会被触发?但是,如果需要,如果屏幕已调整大小,则始终可以解除EventHandler的绑定(否则在checksize方法中)。如果这是你想要的?非常感谢!我现在更改了脚本,它可以完美地工作;-)
if ($(".mytext").css("display") == "none")
$(".activator").click(function()  {
if ($(".mytext").css("display") == "none")           $('.modal- 
wrapper').show();
});