我正在尝试在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();