clipboard.js在弹出框中无法复制的问题

前几天发现了个bug,在jquery-ui的弹出框(dialog)中,使用clipboard.js实现的复制功能,竟然不会生效,后面查了下相关资料,发现不止jquery-ui的dialog不行,其他的模态框,例如bootstrap的,也是一样不会生效的。原因就是弹出框会自动focus,而复制的底层实现是要获取选中的内容,失去焦点后就无法获取到了,从而导致复制失败。

解决办法:

1)对于 Bootstrap 模态框(Modals)中使用,或是在其他修改焦点的类库中使用,你会希望将获得焦点的元素设置为 container 属性的值(网上的解决方案)

new Clipboard(‘.btn‘, {
    container: document.getElementById(‘modal‘)
});

2)对于我使用的jquery-ui的弹出框,我的做法是直接在代码中注释掉dialog相关的focus处理,从而成功解决该问题

原文地址:https://www.cnblogs.com/yjcblog/p/8934219.html

时间: 2025-01-13 11:33:46

clipboard.js在弹出框中无法复制的问题的相关文章

在弹出框中无法使用select2的问题

通常情况下,使用select2只需要在加载相关js和css后,添加如下代码即可: $("#selectId").select2(); 但如果这个select在弹出框中,这样使用往往是无效的,这时候需要这样写: $.fn.modal.Constructor.prototype.enforceFocus = function () {$("#selectId").select2(); }; 参考https://github.com/select2/select2/iss

js自定义弹出框

js自定义弹出框: 代码如下 <html> <head><title>自定义弹出对话框</title> <style type ="text/css" > .layout { width:2000px; height:400px; border:solid 1px red; text-align:center; } </style> <script type="text/javascript&quo

js 常见弹出框学习

模拟系统的弹出框 系统自带的弹出框 总结 链接  http://blog.csdn.net/anhuidelinger/article/details/17024491 参考这个网站学习模态框的动态弹出   http://tympanus.net/codrops/2013/06/25/nifty-modal-window-effects/,网站提供打包好的资源下载. html中的基本结构: <div class="md-modal md-effect-1" id="mo

【原创】贡献一个JS的弹出框代码...

一.前言 最近在做一个项目,自己感觉系统自带的alert()方法的弹出框实在是不堪入目,所以在网上找了一些资料,然后自己加工了一下,做出了自己的一个js弹出框,在这里贡献出来,希望对你有帮助. 二.开始 在这里我们来一个获取验证码的页面来说明,也是在我项目用用到的一个页面.我们首先创建一个HTML的静态页面.其中代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www

使用easeui dialog弹出框中使用CKeditor多次加载后无法编辑问题

问题呈现:弹出框页面 <tr class="addtr"> <th>内容</th> <td> <!-- <textarea rows="15" cols="50" id="content" name="content" class="ckeditor">请输入.</textarea> --> <te

mvc 在弹出框中实现文件下载

var myParent = parent.parent.parent.parent.parent.parent.parent.parent.parent.parent.parent.parent; FileDown = function (fileName, realFileName) { $(myParent.document.body).find("#down-file-iframe").remove(); var $iframe = $('<iframe name=&qu

IOS UIAlertController 弹出框中添加视图(例如日期选择器等等)

UIDatePicker *datePicker = [[UIDatePicker alloc] init]; datePicker.datePickerMode = UIDatePickerModeDate; UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"\n\n\n\n\n\n\n\n\n\n\n\n" message:nil  preferredStyle:UIAlertContr

js处理弹出框的实例dialog的用法

可以结合jquery ui 这个js来使用 <div id="reg" style="display: none"> 表单区域 </div> <script> function IdInfo(Id) { $("#reg").dialog({ title : '被举报题目信息', buttons : { '提交' : function () { }, '取消' : function () { $(this).di

android中怎么把自己需要的app启动图标集中到一个弹出框中

先看效果图 这个是我们自己的apk点击之后的效果 下边是布局文件 activity_main.xml主布局文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:la