gpt4 book ai didi

javascript - 使用 jQuery 模仿现代浏览器的复制 url(添加 http ://when copied)

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:05:53 28 4
gpt4 key购买 nike

我正在尝试模仿现代浏览器的“复制网址”功能。

查看 url 时,您看不到 http://。如果将其复制到剪贴板,将添加 http://。到目前为止我有这个:

$('#address input').bind('copy', function() {
$.fn.changevalue = function (v) {
return $(this).val(v).trigger('change');
}
var origval = $(this).val();
$(this).changevalue('http://' + origval);
});

这会将 http:// 添加到输入字段,如果检测到操作“复制”但它会停止复制到剪贴板。该函数还将 http:// 添加到我不想要的主输入字段。我只想将它添加到剪贴板。

最佳答案

注意:JavaScript 无法访问剪贴板。执行此操作的任何插件通常在后台使用 Flash。

修复copy事件,在input中添加http://后,需要触发select事件(不是change 事件)。当更改值时,文本不再被选中,因此您需要在编辑后选择新的文本。

要从输入字段中删除 http://,您可以在事件末尾添加 setTimeout 以重置值。

此外,您应该在回调之外设置 $.fn.changevalue,它不需要在每次复制事件时都重新设置。

$.fn.changevalue = function(v) {
return this.val(v).trigger('select'); // this is already a jQuery object
}

$('#address input').bind('copy', function() {
var $this = $(this),
origval = $this.val();
$this.changevalue('http://' + origval);
setTimeout(function(){
$this.val(origval);
}, 0);
});

演示:http://jsfiddle.net/TGHcD/

关于javascript - 使用 jQuery 模仿现代浏览器的复制 url(添加 http ://when copied),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8505780/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com