我有一个奇怪的共享点文本字段,如下所示:
<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:
任何形式的帮助表示赞赏!