Javascript 仅在屏幕上运行JS功能(不打印)?

Javascript 仅在屏幕上运行JS功能(不打印)?,javascript,printing,Javascript,Printing,我有一个长文本的DIV,并用一个函数截断它。这一切都很好,直到有人打印页面。截断的文本将不可读 有什么办法可以防止吗 我已经为CSS的媒体打印寻找了一个等价物,但我所能找到的都是屏幕宽度的作品。我不知道什么更好:只在媒体屏幕上截断,还是删除“打印”上的截断 // Truncate the job description $(function() { if ( $('#jetsSearch').length ) { $('.job-description').readmor

我有一个长文本的DIV,并用一个函数截断它。这一切都很好,直到有人打印页面。截断的文本将不可读

有什么办法可以防止吗

我已经为CSS的媒体打印寻找了一个等价物,但我所能找到的都是屏幕宽度的作品。我不知道什么更好:只在媒体屏幕上截断,还是删除“打印”上的截断

// Truncate the job description
$(function() {
    if ( $('#jetsSearch').length ) {
        $('.job-description').readmore({
            speed: 100,
            collapsedHeight: 50,
            moreLink: '<a href="#">Read more</a>',
            lessLink: '<a href="#">Less</a>',
        });
    }
});

看起来您正在使用readmore.jsjquery插件

我就是这样处理同样的问题的。js使用javascript将内联样式的高度(以及其他内容)应用于容器。在CSS中覆盖这些内联样式的唯一方法是使用
!重要信息
声明中的规则

因此,通过添加
高度:auto
对于数据属性为
data readmore
的元素,使用重要规则,您可以覆盖打印样式(我在CSS中使用打印媒体查询)。我还隐藏了“阅读更多”链接,因为它与打印页面无关

@media print {
    [data-readmore] {
        height: auto !important;
    }
    [data-readmore-toggle] {
        display: none !important;
    }
}

为什么不在CSS中执行截断(使用文本溢出:省略号)?我认为OP希望通过第三方库完成此操作,因为他似乎正在使用
ReadMore.js
。哦,我可能会用
jquery
readmore.js
来标记你的问题,看看是否有更多的peep可以提供帮助
@media print {
    [data-readmore] {
        height: auto !important;
    }
    [data-readmore-toggle] {
        display: none !important;
    }
}