将点击设置为未创建的元素

Setting click to not created elements

这是我的第一个问题,希望我问的是正确的。 我正在制作一个用户脚本。该网站有一个聊天功能,当用户点击一条消息时,它应该复制它。该网站已删除右键单击和选择。我知道如何复制消息,但我不知道如何添加点击功能部分。

这是我目前的代码:

$(document).ready(function(){
      $('.msg').click(function(){
      $('#someinput').val($(this).text())
      .select();
      document.execCommand('copy');    
      });
});

这给我错误 Cannot read 属性 'click' of null,我想那是因为聊天消息尚未创建。我该如何解决这个问题?

您必须使用 jQuery 事件委托:http://learn.jquery.com/events/event-delegation

如果您的 .msg 元素在容器内,您可以编写

$(document).ready(function() {
    $('#container').on('click', '.msg', function() {
        // your click function
    });
});