我有一个页面,其中包含通过 jQuery 在文档就绪和窗口滚动上定义的许多功能和样式,甚至确保它在禁用 JavaScript 的情况下很好地降级。然而,我只是拼凑了一个“打印”样式表,它删除了大部分样式,当我测试它时,我意识到我的 jQuery 方法在打印和添加回一些背景图像时起作用了。打印时是否可以禁用 JavaScript 或 jQuery,甚至是特定功能?
最大的问题是这件作品,它根据之前生成的数字生成随机背景图像……它覆盖了我的打印样式表对背景图像的调用:无,即使使用 !important 标签也是如此:
$(document).ready(function() {
$("body").css({backgroundImage: 'url(images/body_bg_'+background+'.jpg)'});
});
谢谢!
最佳答案
在样式表中定义您的样式。然后使用 JavaScript 更改 DOM 以将这些样式应用于元素,而不是修改样式属性。
这让您可以控制不同的媒体,并保持关注点的分离(语义、表示和逻辑)。
@media screen {
body.something {
background-image: url(images/body_bg_something.jpg);
}
}
$(document).ready(function() {
$("body").addClass('something');
}
也就是说:
it is overriding my print stylesheet's call for background-image:none, even when using the !important
它真的不应该那样做。
关于javascript - 打印时禁用 jQuery 定义的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5032434/