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>

そのため、span タグが挿入されているようです..表示されないだけです...トラブルシューティングに役立つ他の情報はありますか?

~~~~~~~~~ ここにいくつかの詳細情報があります..jqueryの代わりにこれを使用すると... Webフォントが表示されます

  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 に答える