1

我正在尝试通过 onclick 更改<asp:linkbutton. 该代码似乎在 IE 和 firefox 中运行良好,但在 Chrome 中无法运行。

这是我正在使用的代码

 $('<span></span>', {
    text: icon,
    class: 'WebFonts'
}).appendTo('#' + btn);

btn 是通过 onclientclick 函数传入的参数。就像我说的,这是在 IE 和 Firefox 中工作的。这是 webfont css 类,当我不尝试在 javascript 中附加它时,chrome 会呈现它。

@font-face {
    font-family: 'WebSymbolsRegular';
    src: url('/font/fonts/websymbols/websymbols-regular-webfont.eot');
    src: url('/font/fonts/websymbols/websymbols-regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('/font/fonts/websymbols/websymbols-regular-webfont.woff') format('woff'),
         url('/font/fonts/websymbols/websymbols-regular-webfont.ttf') format('truetype'),
         url('/font/fonts/websymbols/websymbols-regular-webfont.svg#WebSymbolsRegular') format('svg');
    font-weight: normal;
    font-style: normal;
}

.WebFonts {font-family:WebSymbolsRegular}

非常感谢一些帮助谢谢香农

~~~~~~~~~~~~~ 这是你的要求

function checkDisableButton(btn, parmText, icon) {
var mbtn=$('#' + btn)
mbtn.attr('disabled', '');
mbtn.addClass("buttonPad buttonProcessing button");
mbtn.text(parmText + "   |   ")
$('<span></span>', {
    text: icon,
    class: 'WebFonts'
}).appendTo('#' + btn);

}

这就是所谓的

 <asp:LinkButton ID="lbSave" runat="server" CssClass="ButtonPrimary button" Text="Save"
    OnClientClick="checkDisableButton(this.id, 'PROCESSING', 'V');" />

这是单击 asp:linkbutton 时 Chrome 中显示的 ID

<a onclick="checkDisableButton(this.id, 'PROCESSING', 'V');" id="ctl00_ContentPlaceHolder1_lbSave" class="ButtonPrimary button buttonPad buttonProcessing" href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$lbSave','')" disabled="disabled">PROCESSING   |   <span class="WebFonts">V</span></a>

您会注意到代码中有 span class="WebFonts"

这是点击之前的代码

<a onclick="checkDisableButton(this.id, 'PROCESSING', 'V');" id="ctl00_ContentPlaceHolder1_lbSave" class="ButtonPrimary button" href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$lbSave','')">Save</a>

所以看起来跨度标签正在被放入......它只是没有显示......您需要哪些其他信息来帮助解决问题?

~~~~~~~~~ 这是更多信息.. 如果我使用它而不是 jquery ... webfonts 出现

  document.getElementById(btn).innerHTML = parmText + '<span class=buttonPad>|</span><span class=WebFonts>' + icon + '</span>';
    document.getElementById(btn).className = 'buttonProcessing button ';

只是更多信息..不确定我能到达任何地方

4

2 回答 2

1

我认为这里的关键词是:

这是 webfont css 类,当我不尝试在 javascript 中附加它时,chrome 会呈现它。

Chrome 对何时加载字体非常挑剔,因为这可能是一项耗时的任务。尝试将具有该类的隐藏元素添加到页面的某处:

<span style="visibility:hidden" class="WebFonts">V</span>

然后,Chrome 会在呈现页面时知道加载字体,并在您将其动态添加到链接时准备好

于 2012-05-25T14:56:02.487 回答
0

您的代码导致解析错误;这应该更好:

$('<span></span>', {
    text: icon,
    'class': 'WebFonts'
}).appendTo('#' + btn);

我在周围添加了引号class

于 2012-05-25T14:24:10.177 回答