次のような奇妙な共有ポイントのテキストフィールドがあります。
<div class="ms-taxonomy-fieldeditor ms-taxonomy-fieldeditor-standard ms-taxonomy-writing" title="Category" style="width: 364px;">
<div id="ctl00_PlaceHolderMain_EditModePanel5Medium_NewsCategoryMedium_ctl02editableRegion" contenteditable="true" role="textbox" aria-autocomplete="both" aria-haspopup="true" aria-multiline="true" class="ms-rtestate-write ms-taxonomy-writeableregion ms-inputBox ms-inputBoxActive" disableribboncommands="True" allowmultilines="false" restrictpastetotext="True" rtedirty="false" style="">
<span class="valid-text" title="">Communications</span>; ​
<span id="ms-rterangecursor-start"></span>
<span id="ms-rterangecursor-end">
</span>
</div>
</div>
ASPX ファイルでは、次のようになります。
<PublishingWebControls:EditModePanel ID="EditModePanel5Medium" runat="server" PageDisplayMode="Edit">
<Taxonomy:TaxonomyFieldControl FieldName="NewsCategory" runat="server" id="NewsCategoryMedium" />
</PublishingWebControls:EditModePanel>
テキストボックスに挿入されたテキストは.Valid-text
要素に追加されるため、理由はわかりません..テキストボックスが変更/フォーカスされているかどうかを確認し、.valid-text
含まれているかどうかを確認して、「こんにちは世界」と言いましょう。
これまでにこれを試しましたが、うまくいきませんでした。
$(".ms-taxonomy .ms-taxonomy-fieldeditor").change(function () {
var Text = $(".ms-taxonomy .ms-taxonomy-fieldeditor .valid-text").text();
if (Text == "Hello World") {
// do this
}
});
Tymeのソリューションも試しましたが、運もありません:(
$(".ms-taxonomy .ms-taxonomy-fieldeditor").blur(function () {
var text = $(".ms-taxonomy .ms-taxonomy-fieldeditor .valid-text").text();
if (text.indexOf('Group Wide') != -1) {
alert("test");
}
});
また試した
$(".ms-taxonomy .ms-taxonomy-fieldeditor").on("blur", function () {
var text = $(".ms-taxonomy .ms-taxonomy-fieldeditor .valid-text").text();
alert(text);
if (text.indexOf('Group Wide') != -1) {
alert("test");
$("#news-text").show();
}
});
ここにjsfiddleがあります:
どんな種類の助けも大歓迎です!