0
(function($) {
$.widget("ui.selectmenu", {
getter: "value",
version: "1.8",
eventPrefix: "selectmenu",
options: {
transferClasses: true,
typeAhead: "sequential",
style: 'dropdown',
positionOptions: {
my: "left top",
at: "left bottom",
offset: null
},
width: null,
menuWidth: null,
handleWidth: 26,
maxHeight: null,
icons: null,
format: null,
bgImage: function() {},
wrapperElement: "<div />"
},
_create: function() {
var self = this, o = this.options;
// set a default id value, generate a new random one if not set by developer
var selectmenuId = this.element.attr('id') || 'ui-selectmenu-' + Math.random().toString(16).slice(2, 10);
// quick array of button and menu id's
this.ids = [ selectmenuId + '-button', selectmenuId + '-menu' ];
// define safe mouseup for future toggling
this._safemouseup = true;
// create menu button wrapper
this.newelement = $('<a />', {
'class': this.widgetBaseClass + ' ui-widget ui-state-default ui-corner-all',
'id' : this.ids[ 0 ],
'role': 'button',
'href': '#',
'tabindex': this.element.attr('disabled') ? 1 : 0,
'aria-haspopup': true,
'aria-owns': this.ids[ 1 ]
});
this.newelementWrap = $(o.wrapperElement)
.append(this.newelement)
.insertAfter(this.element);
// transfer tabindex
var tabindex = this.element.attr('tabindex');
if (tabindex) {
this.newelement.attr('tabindex', tabindex);
}
// save reference to select in data for ease in calling methods
this.newelement.data('selectelement', this.element);
この作成機能では、動的に幅がメニューのみのブラウザ標準に従って来ています。だから私はメニューの幅のプロパティを削除するには、その上に解決策を教えてください。 jquery要素のスタイルの問題
とも幅がない場合には、動的場合element.style {}<a class="ui-selectmenu ui-widget ui-state-default ui-selectmenu-dropdown tinydrop tradedrop ui-state-active ui-corner-top" id="ui-selectmenu-3cab43ef-button" role="button" href="#" tabindex="0" aria-haspopup="true" aria-owns="ui-selectmenu-3cab43ef-menu" style="width: 97px; " aria-disabled="false"><span class="ui-selectmenu-status">Buy</span><span class="ui-selectmenu-icon ui-icon ui-icon-triangle-1-s"></span></a>
この幅は静的ではありませんが、動的であるためコードは機能しません。 – user1121019