我有一个 .pdf 文档,其中包含运行 Javascript 代码的自定义链接。
JS 工作部分的实际功能没有问题,但我确实有一个无法解决的格式/显示问题:
是否可以编写 JS 来改变单击各个链接时的外观?
我知道我可以通过循环遍历 doc.getLinks 结果并对 getLinks 数组的每个元素应用格式更改,以编程方式更改页面上所有链接的外观。但我不知道如何在单击时/之后引用特定链接,无论是通过引用 getLinks 数组中该链接的索引位置,还是通过任何其他名称引用它,句柄等
我认为这可能是可行的,但我不知所措。
提前感谢您的指点!
<小时/>编辑:需要澄清的一件事......我可以为一个按钮做我需要做的一切。也就是说,我可以手动找到按钮名称,并手动输入 JS 代码来更改该特定按钮的外观。为此,我需要通过单击几下鼠标来实际查找按钮的名称,然后在 JS getField 命令中对该按钮的名称进行硬编码。这需要为每个按钮使用不同的代码。
是否可以为每个按钮使用相同的代码来完成相同的功能?
我的最终目标是能够在一系列 .pdf 文件上重现此功能,这些文件共同包含数千个单独的按钮。因此,此过程的任何手动组件都会使实现变得不切实际。
我最初应该这样表述这个问题:是否可以编写可以自动检测调用代码的按钮名称的 JS 代码? (即,我如何为通用按钮实现自引用功能?)
最佳答案
正如OP所希望的那样......
当脚本应引用其运行所在的字段时,要使用的字段对象是 event.target
。
一个例子:
您有一个按钮,单击该按钮时,边框的宽度应在 1 到 3 之间更改。mouseUp 事件将包含这段代码:
if (event.target.lineWidth == 1) {
event.target.lineWidth = 3 ;
} else {
event.target.lineWidth = 1 ;
}
或者另一个例子:当计算文本字段中的数字为负数时,它应该为红色,否则为黑色:
在该字段的 Format 事件中,您将添加:
if (event.value*1 < 0) {
event.target.textColor = color.red ;
} else {
event.target.textColor = color.black ;
}
这应该给出如何使用 event.target 的想法。
关于javascript - .PDF 中的自定义操作链接...编写 Javascript 来更改单击时链接的外观?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34537587/