我不是办公结构方面的专家,但根据我的理解,您不能简单地使用jquery来修改结构组件。如果检查元素,可以看到fabric动态生成额外的dom元素。我认为没有一种简单的方法来附加动态选项。一种方法是重新初始化下拉组件:
function initDropDown() {
var $dropdown = $(".ms-Dropdown");
$dropdown.find("select").innerHTML = "<option></option>";
$dropdown.find(".ms-Dropdown-title").remove();
$dropdown.find(".ms-Dropdown-items").remove();
var $dropDownSelect = $(".ms-Dropdown-select");
$('<option value="0">option 1</option>').appendTo($dropDownSelect);
$('<option value="1">option 2</option>').appendTo($dropDownSelect);
$('<option value="2">option 3</option>').appendTo($dropDownSelect);
var DropdownHTMLElements = document.querySelectorAll('.ms-Dropdown');
for (var i = 0; i < DropdownHTMLElements.length; ++i) {
var Dropdown = new fabric['Dropdown'](DropdownHTMLElements[i]);
}
}
如果不需要动态选项,只需初始化组件:
function init() {
var DropdownHTMLElements = document.querySelectorAll('.ms-Dropdown');
for (var i = 0; i < DropdownHTMLElements.length; ++i) {
var Dropdown = new fabric['Dropdown'](DropdownHTMLElements[i]);
}
}