javascript - 仅在屏幕媒体上运行 javascript/jquery,而不是打印

标签 javascript jquery printing media-queries

如何仅在@media screen 上运行 jquery 函数?

背景:

我有一个 screen.css 样式表和一个 print.css 样式表。我有两个 javascript 函数,其中一个我不想在打印版本上运行想要的页面。

最佳答案

任何脚本都会在页面加载时运行,因此使用 if (Modernizr.mq('only screen')) {$('h1').text('media screen');} 毫无意义,因为它 你在 @media screen 上运行你的脚本。

相反,您必须检测媒体查询何时更改,并相应地更改页面。你可以使用类似 enquire.js 的东西这样做很容易:

// This is just an example, be more creative!

enquire.register("screen", {
    match: function() { 
        $('#only-show-on-screen').show();
    },
    unmatch: function() {
        $('#only-show-on-screen').hide();
    }
});

关于javascript - 仅在屏幕媒体上运行 javascript/jquery,而不是打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12112255/

相关文章:

javascript - 通过 jQuery 重置联系表单的问题

html - Angular ng-repeat 到 PDF 或打印机 CSS 假定对齐问题

c# - Winforms RichTextBox 中的两列

javascript - 如何在这里使用 Find() : Vue. js

带有上一个/下一个功能和缩略图的 Javascript 画廊......没有别的

javascript - 动态高度可滚动 DIV 内的全高元素

javascript - 我正在将 ajax 请求传递到另一个远程服务器以获取访问记录

javascript - 如何使用 javascript 或 jquery 转换以下字符串

iOS Airprint 不使用打印机选择界面

javascript - 将鼠标悬停在 div 上以使用 jQuery 显示嵌套跨度