{hero}

copyHtml5

自:Buttons 1.0.0

将表格数据复制到剪贴板按钮 (HTML)。
请注意 - 此属性需要 按钮 DataTables 扩展。

说明

此按钮为最终用户提供简单的复制到剪贴板操作,将表格数据复制到系统剪贴板。在大多数情况下,这将自动显示在用户剪贴板上,但如果您的浏览器不支持所需 API,则会向最终用户显示一条消息,邀请他们使用键盘或编辑菜单复制表格数据。复制将从几乎完全隐藏的 textarea 元素完成,因此最终用户看不到它,但浏览器仍可以对 textarea 焦点并选择文本。

当用户激活复制命令时,将关闭对话框。他们还可以单击该框或按 ESC 键,不执行复制操作来关闭它。

如果您的表格具有具有多行的页眉或页脚,则所有这些都将包含在导出中。如果页眉或页脚包含 colspanrowspan 单元格,它们将被空字符串填充,因为这是一个纯文本导出,并且没有办法表示跨越其他单元格的单元格。

可以设置许多语言字符串来配置向最终用户显示的消息 - 这些消息设置在 language 配置选项的 buttons 属性中 DataTables(请参阅下面的示例) - 这些包括**默认值**

{
    copy: 'Copy',
    copySuccess: {
        1: "Copied one row to clipboard",
        _: "Copied %d rows to clipboard"
    },
    copyTitle: 'Copy to clipboard',
    copyKeys: 'Press <i>ctrl</i> or <i>\u2318</i> + <i>C</i> to copy the table data<br>to your system clipboard.<br><br>To cancel, click this message or press escape.'
}

请注意,此按钮类型的名称的 html5 部分是为了与其他 HTML5 导出按钮保持一致,但与它的配套按钮不同,它实际上并不需要 HTML5 API。它将适用于所有受支持的数据表浏览器。

选项

此按钮可以在其配置对象中设置以下选项来自定义其操作和显示,除了所有按钮(例如 buttons.buttons.text)可用的选项。

示例

DataTables 初始化:使用 HTML 复制按钮

new DataTable('#myTable', {
	layout: {
		topStart: {
			buttons: ['copyHtml5']
		}
	}
});

DataTables 初始化:使用 copy 按钮类型来指定 HTML 按钮选项的别名。

new DataTable('#myTable', {
	layout: {
		topStart: {
			buttons: ['copy']
		}
	}
});

DataTables 初始化:使用 exportOptions 仅复制当前 DataTable 页

new DataTable('#myTable', {
	layout: {
		topStart: {
			buttons: [
				{
					extend: 'copyHtml5',
					text: 'Copy current page',
					exportOptions: {
						modifier: {
							page: 'current'
						}
					}
				}
			]
		}
	}
});

DataTables 初始化:使用 language 对象设置激活时显示的信息

new DataTable('#myTable', {
	language: {
		buttons: {
			copyTitle: 'Data copied',
			copyKeys: 'Use your keyboard or menu to select the copy command'
		}
	},
	layout: {
		topStart: {
			buttons: ['copyHtml5']
		}
	}
});