我通过执行以下操作使其适用于小型 button 版本。
首先,将一个类应用于您的filestyle 输入:
<input type="file" class="filestyle apply-tooltip" data-input="false" data-buttontext="" data-iconname="glyphicon-paperclip"/>
注意到.apply_tooltip 类了吗?接下来,遍历该类的元素并将几个属性分配给它们的兄弟<div> 元素(由filestyle 生成):
$('.apply-tooltip').each(function(){
$(this).siblings("div").attr("data-toggle", "tooltip");
$(this).siblings("div").attr("title", "Attach File");
});
最后,像往常一样调用$([data-toggle="tooltip"]).tooltip() 函数。这将激活生成的<div class="bootstrap-filestyle input-group"> 上的tooltip。
您需要这样做的原因是filestyle 隐藏了用于生成自定义输入字段的所有元素。因此,tooltip 被正确激活,但在隐藏元素上。
这是您的 JSFiddle 的修改版本,在实践中展示了这一点:
http://jsfiddle.net/admvx689/1/
我会看看我是否可以让其他两个也正常工作。希望对现在有所帮助!
编辑
它实际上也适用于较大的输入,您只需将鼠标悬停在右侧部分(右侧的按钮)
http://jsfiddle.net/admvx689/3/