SOURCE

console 命令行工具 X clear

                    
>
console
// let a = {
//     test: 1,
//     fn: function(a, b, c) {
//         console.log(a, b, c)
//         console.log(this.test);
//     }
// };

// var test = 2;

// let b = {
// 	test: 3
// }

// a.fn.call(this) // 2
// a.fn.apply(this) // 2
// a.fn.bind(this)() // 2

// a.fn.call(b, 7,8,9) // 3
// a.fn.apply(b, [7,8,9]) // 3
// a.fn.bind(b, 7,8,9)() // 3

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  
  <title>监听指定div的复制</title>
</head>
<body>

  <div id="div1" data-faq-id="a123b-895">
    只监听这个div中的复制
    <div>
        子元素监听
        <div>
            孙子元素
        </div>
    </div>
  </div>
  
  <div id="div2">
    不监听这个div的复制
  </div>

  <script>
    const div1 = document.getElementById('div1');
    div1.addEventListener('load', () => {
        console.log('loaded')
        div1.addEventListener('copy', e => {
        const selection = window.getSelection().toString();
        const copiedElement = e.target;

        // 在祖先元素上查找 data-faq-id 属性
        const faqId = copiedElement.closest('[data-faq-id]');
        if (faqId) {
            console.log(`你复制了div1中的内容:${selection}, id:${faqId.dataset.faqId}`);
        }
    }); 
          

    
});
  </script>

</body>
</html>