0
我有一个添加到dijit/layout/ContentPane的dijit/form /按钮。 dijit/layout/ContentPane然后被放置在dijit/form/DropDownButton中。当我点击dijit/form /按钮时,它不会第一次触发。对于这个例子,我只需点击按钮生成一个警报框,并将值输入到ValidationTextBox中。我在其他论坛上看到关于此主题的一些讨论,这些论坛建议onMouseDown事件或焦点事件突出显示第一个onClick事件。什么是最好的方式来测试这些事件何时加载,或者我只是在代码中丢失了某些东西?dijit/form/button?谢谢你看看。dijit按钮不是第一次触发
dojoConfig = {
parseOnLoad: true
}
require(["dijit/form/DropDownButton", "dijit/MenuItem", "dijit/layout/ContentPane", "dijit/form/ValidationTextBox", "dijit/form/Button"],
function(DropDownButton, DropDownMenu, ContentPane, ValidationTextBox, Button) {
var parcelsearchCP = new ContentPane({
id: 'parcelsearchCP',
tabindex: 0
});
var parcelsearchInput = new ValidationTextBox({
title: "Enter Parcel ID",
name: "parcelvalue",
id: "parcelsearchInput",
placeholder: "<enter 8 digits>",
regExp: "^[0-9]*$"
});
var searchBtn = new Button({
//iconClass: "mySearchIcon",
name: "searchme",
label: "click me"
});
searchBtn.startup();
dojo.place("<div>Enter Parcel ID: </div>", parcelsearchCP.containerNode);
dojo.place(parcelsearchInput.domNode, parcelsearchCP.containerNode);
dojo.place(searchBtn.domNode, parcelsearchCP.containerNode);
var button = new DropDownButton({
label: "hello!",
name: "programmatic2",
dropDown: parcelsearchCP,
id: "progButton"
}, "dropDownButtonContainer").startup();
dojo.connect(searchBtn, "onClick", function() {
var boxentry = dijit.byId("parcelsearchInput");
if (boxentry.value !== "" || parcelsearchInput.isValid() === true) {
alert(boxentry.value);
} else {
alert("Please enter a valid 8 digit number and re-submit.");
}
});
});
<link href="http://ajax.googleapis.com/ajax/libs/dojo/1.5/dijit/themes/claro/claro.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"></script>
<body class="claro">
<div id="dropDownButtonContainer"></div>
</body>
它显示了Chrome,FF和IE 11中第一次点击的警报......您看到了什么浏览器问题?另外,你实际使用的是什么版本的Dojo?你正在引用1.10的代码,但在本例中是1.5的样式... –
嗨,我正在使用Chrome版本45.0.2454.99进行测试,但我需要在FF和IE中使用此功能。此代码实际上是由第三方供应商提供的Javascript/HTML 5模板的一个子集,其自带的API基于Dojo 1.10.4构建。我基本上正在尝试为现有的应用程序添加一个“小部件”,并与应用程序的现有编码标准保持一致。我意识到这并不是真的如何实现,这几乎是Dojo标准的传统编码方法。我希望我可以重新开始,但现在不适合我。 – gingerrc4