Javascript 单击链接时,高亮显示工具提示中的文本

Javascript 单击链接时,高亮显示工具提示中的文本,javascript,hyperlink,twitter-bootstrap,tooltip,href,Javascript,Hyperlink,Twitter Bootstrap,Tooltip,Href,我想在用户单击短Url锚时突出显示工具提示中的文本,以便他可以复制粘贴它。工具提示由Twitter引导提供,标记如下所示: <div class="shorturl"> <a href="#" rel="tooltip_r" data-original-title="http://tmblr.co/ZPPojuQzc9bb">Short URI</a> </div> 我怎样才能做到这一点?非常感谢您的输入 这是我给你的建议: var选择器

我想在用户单击短Url锚时突出显示工具提示中的文本,以便他可以复制粘贴它。工具提示由Twitter引导提供,标记如下所示:

<div class="shorturl">
    <a href="#" rel="tooltip_r" data-original-title="http://tmblr.co/ZPPojuQzc9bb">Short URI</a>
</div>

我怎样才能做到这一点?非常感谢您的输入

这是我给你的建议:

var选择器='[rel=“tooltip_r”]';//将具有该功能的链接
var tooltipOptions={//工具提示的一些选项(如果覆盖下面设置的“默认值”,请小心)
位置:'对'
};
var属性='数据url';//用于查找url的属性,可以是href
/*如果在下面修改,请确保正在执行的操作*/
$elts=$(选择器);
var defaultOptions={
触发器:“手动”,
标题:“”
};
var opts=$.extend({},defaultOptions,tooltipOptions);
$elts.each(函数(){
var$this=$(this);
var url=$this.attr(属性);
$this.tooltip(选项);
$this.on('click.tooltip',函数(e){
$this.tooltip('show');
$this.data('tooltip')。$tip.find('input').val(url).select()
.on('click',函数(e){e.stopPropagation();});
e、 预防默认值();
e、 停止传播();
});
});
$('html')。on('click.tooltip',function(){
$elts.工具提示(“隐藏”);
});
您可以使用一些样式来改进工具提示中的输入。例如:

.tooltip.tooltip-internal>输入[type=“text”]{
背景:透明;
边界:无;
最大宽度:100%;
宽度:自动;
填充:0;
颜色:继承;
}
更新 如果在动态加载的内容中需要相同的功能,则需要使用。这是一张工作票

var选择器='[rel=“tooltip_r”]';//将具有该功能的链接
var tooltipOptions={//工具提示的一些选项(如果覆盖下面设置的“默认值”,请小心)
位置:'对'
};
var属性='数据url';//用于查找url的属性,可以是href
var onClass='on';//类,用于确定显示哪些工具提示
/*如果在下面修改,请确保正在执行的操作*/
var defaultOptions={
触发器:“手动”,
标题:“”
};
var opts=$.extend({},defaultOptions,tooltipOptions);
var selectorOn=selector+'.'+onClass;
$('body')。on('click.tooltip',选择器,函数(e){
var$this=$(this);
var url=$this.attr(属性);
$this.data('tooltip')| |$this.tooltip(opts);
$this.tooltip('show').addClass(onClass);
$this.data('tooltip')。$tip.find('input').val(url).select()
.on('click',函数(e){e.stopPropagation();});
e、 预防默认值();
e、 停止传播();
})
.on('click.tooltip',函数(){
var$elts=$(selectorOn);
$elts.工具提示(“隐藏”);
});

如果要选择内容,为什么不在手动触发的工具提示标题中添加的
上使用
.select()
方法?似乎是跨浏览器的我真的不是那么精通Javascript,我不知道@Sherbrow会是什么样子?谢谢你的想法!这太好了@Sherbrow,太好了!我永远也想不到!P.S.@Sherbrow,它是否可能停止对infinitescroll()加载的帖子的工作?为什么它会这样做(第一页的内容仍然有效)?@Simon预计它不会处理动态加载的内容。请看我的编辑。我会多次投票。正如广告所宣传的那样好@Sherbrow!
function selectText() {
    if (document.selection) {
    var range = document.body.createTextRange();
        range.moveToElementText(document.getElementByClass('tooltip'));
    range.select();
    }
    else if (window.getSelection) {
    var range = document.createRange();
    range.selectNode(document.getElementByClass('tooltip'));
    window.getSelection().addRange(range);
    }
}