这是一个奇怪的问题。

我有一个脚本,在打印寡妇出现之前可以在空白输入字段中插入0,以保留样式。但是,当打印成功或被取消时,需要从屏幕上删除这些0。

有没有一种方法可以检测何时取消打印或成功打印?这需要在所有浏览器中都有效。

我的JavaScript插入0看起来像这样

 $('#checkRequestDetails').find('input').each(function(i, obj) {
   if ($(this).val() == '') {
     $(this).val('0')
   }
 });


或有更好的方法来仅显示这些0以用于打印格式。

最佳答案

您可能对placeholder使用input属性。只需将其颜色设置为透明,然后设置样式即可将其颜色设置为黑色或仅用于打印的颜色。

所有主流浏览器均支持:placeholder,但您可能需要包括所有供应商前缀版本。对于本示例,我只是使用Webkit。参考:https://caniuse.com/#feat=css-placeholder

像这样:



input[type="text"]::-webkit-input-placeholder {
  color: transparent;
}

@media print {
  input[type="text"]::-webkit-input-placeholder {
    color: #000;
  }
}

<input type="text" placeholder="0" />

<input type="text" value="999" placeholder="0" />

<input type="text" placeholder="0" />





运行该代码段,然后右键单击并单击“打印”,然后在打印预览中将看到“ 0”。

09-16 07:52