小编典典

如何在按钮处于加载状态时向按钮添加微调器图标?

all

Twitter Bootstrap
的按钮
有一个很好的Loading...可用状态。

问题是它只显示一条消息,就像Loading...通过这样的data-loading-text属性传递的:

<button type="button" class="btn btn-primary start" id="btnStartUploads"
        data-loading-text="@Localization.Uploading">
    <i class="icon-upload icon-large"></i>
    <span>@Localization.StartUpload</span>
</button>

查看 Font Awesome,您会看到现在有一​​个动画微调器图标

在触发这样的操作时,我尝试集成该微调器图标Upload

$("#btnStartUploads").button('loading');
$("#btnStartUploads i").removeAttr('class');
$("#btnStartUploads i").addClass('icon-spinner icon-spin icon-large');

但这根本没有效果,也就是说,我只看到Uploading...按钮上的文字。

按钮处于加载状态时是否可以添加图标?看起来 Bootstrap 只是<i class="icon-upload icon- large"></i>在处于加载状态时删除了按钮内的图标。


这是一个简单的演示,显示了我上面描述的行为。如您所见,当它进入 Loading
状态时,图标就消失了。它会在时间间隔之后重新出现。


阅读 76

收藏
2022-07-07

共1个答案

小编典典

如果您查看bootstrap-
button.js
源代码,您会看到 bootstrap
插件在调用时将按钮内部 html 替换为 data-loading-text$(myElem).button('loading')中的任何内容。

对于您的情况,我 认为 您应该能够做到这一点:

<button type="button"
        class="btn btn-primary start"
        id="btnStartUploads"
        data-loading-text="<i class='icon-spinner icon-spin icon-large'></i> @Localization.Uploading">
    <i class="icon-upload icon-large"></i>
    <span>@Localization.StartUpload</span>
</button>
2022-07-07