定位dojo dijit.form.DropDownButton的内容
Positioning the contents of a dojo dijit.form.DropDownButton?
我有这个jsfiddle,右上角有三个按钮。
一直向右的两个按钮"Basemaps"answers"Legend"的内容按预期向左打开,这样它们就不会走出浏览器窗口。左侧按钮"Map Overlays"的内容向右打开,因为它有这样做的空间
是否可以更改这些DropDownButton的内容,以便在默认情况下,它们都将内容的右侧与按钮的右侧对齐?
也就是说,我希望左侧按钮("Map Overlays")的打开内容以与其他按钮的打开内容相同的方式定位。
修复了具有所需功能的jsfiddle。
我已经通过为DropDownButton的onMouseDown
事件添加一个dojo.connect
解决了这个问题。我根据DropDownButton的x位置和宽度计算ContentPane的新x位置。然后,我找到ContentPane的DOM节点的父节点节点,并将其left
样式参数设置为新的x位置。
dojo.connect(dijit.byId("mapOverlayDropdown"), 'onMouseDown', function() {
console.log("shown");
var button = dijit.byId("mapOverlayDropdown").domNode;
var gallery = dijit.byId("mapOverlayGallery").domNode.parentNode;
var buttonPos = dojo.position(button, true);
var galleryPos = dojo.position(gallery, true);
var newX = buttonPos.x + buttonPos.w - galleryPos.w;
gallery.style.left = newX.toString() + "px";
});
相关文章:
- Dojo:访问dijit.form.Select中单击的项目
- Javascript form innerHTML
- 无法在有条件呈现的富:面板上提交h:form
- Javascript form.submit()方法是如何工作的
- 通过jQueryAjax一起发布Array和Form数据时出现问题
- This.Form.Submit() on CakePHP
- 带有Request.Form的JScript数组
- jQuery函数无法处理Form Submit
- 使用application/x-www-form-urlencoded使用node.js在post请求中发送数组
- Javascript:获取“;FORM”;它是在.html到外部.js文件中创建的
- 如何停止向上滚动<按钮dojoType=“;dijit.form.Button”;type=“;提交”/>在
- Angular Form Wide验证(不特定于字段)
- 当在coldfusion中通过AJAX传递时,FORM提交在IE浏览器中给出空表单
- Form获胜'没有ID主联系表格无法验证
- 如何使用SpringWebFlow在JavaScript中处理form.submit()
- Form.target=window.opener.name不起作用
- 在Javascript中向Ext.form.Formpanel添加多个按钮
- 定位dojo dijit.form.DropDownButton的内容
- 如何使用dojo dijit/form/DropDownButton将子菜单项添加到菜单项
- 如何在dijit.form.dropDownButton中删除向下箭头图标