使用ClipboardJS时如何获取被点击按钮的ID
解决方案
你代码中this.id返回undefined的核心原因是:ClipboardJS的success事件回调中,this指向的是ClipboardJS实例本身,而非你点击的按钮DOM节点,因此无法直接通过this获取按钮的属性。
你可以直接从事件对象e的内置trigger属性获取触发本次复制操作的按钮DOM元素,读取e.trigger.id即可拿到对应ID,修改后的代码如下:
var clipboard = new ClipboardJS('.btn'); clipboard.on('success', function(e) { console.info('Text:', e.text); console.info('ID:', e.trigger.id); console.info('Clicked button:', e.trigger); });
如果需要获取按钮上的其他自定义属性,也可以通过e.trigger.getAttribute('自定义属性名')的方式读取,所有DOM节点支持的属性和方法都可以在e.trigger上使用。
内容的提问来源于stack exchange,提问作者It_is_Chris
相关产品推荐
相关产品推荐

