我正在尝试在Ruby on Rails应用程序中实现“复制到剪贴板”功能。在我的部分中,我有以下代码:

<div class="share"/>
    <button class='my_clip_button clipboard' data-clipboard-text='<%= request.base_url.chomp('/') + trailer_path(trailer) %>'title='Click me to copy to clipboard.'>
      <%= image_tag('copy.png', :class=>"img-responsive") %>
    </button>
      <div class="reminder">
        <p>Copy link</p>
      </div>
      <input type="text" name="Element To Be Copied" class = "clipboardtext"
      id="inputContainingTextToBeCopied" value='<%= request.base_url.chomp('/') + trailer_path(trailer) %>'
      style="display:none; position: relative; left: -10000px;"/>
    </div>


在我的JavaScript帮助器中,我有:

$('.clipboard').click(function(){
  $(this).closest(".share").find(".clipboardtext").focus();
  document.execCommand('SelectAll');
  document.execCommand("Copy", false, null);
  copyDiv.style.display = 'none';

});


在树上,我是否应该转到父div,然后找到具有相应类的第一个元素?我对于为什么选择整个网页感到困惑。使用ID会更容易,因为我可以简单地使用getElementById,但是我不确定如何针对类/多个元素进行此操作。先感谢您。

最佳答案

你有没有尝试过:

$(this).siblings(".clipboardtext").focus();


要么:

$(this).parent(".share").find(".clipboardtext").focus();

08-06 02:55