gpt4 book ai didi

javascript - Dojo 元素/小部件定位,我做错了什么?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:22:53 25 4
gpt4 key购买 nike

我是 dojo 的新手......并且从我对 jQuery 的经验中汲取了一些......

我有几个这样的元素:

<input name="info1" value="" style="width:52px" contstraints="{pattern:'#'}" dojoType="dijit.form.NumberTextBox"/>

<input name="info2" value="" style="width:52px" contstraints="{pattern:'#'}" dojoType="dijit.form.NumberTextBox"/>

<input name="info3" value="" style="width:52px" contstraints="{pattern:'#'}" dojoType="dijit.form.NumberTextBox"/>

但是我最难尝试分配一个简单的 onKeyUp 事件……我尝试过的一切看起来都可以工作,但没有……控制台总是报告我试图做的事情不是一个功能...

dojo.addOnLoad(function()
{
dojo.query('input[name^=info]').connect('onkeyup',function(e)
{
console.log('oh yeah');
});
});

我做错了什么,我应该注意什么???

最佳答案

不幸的是,dojo.query() 将只返回 native DOM 节点。我想你想取回呈现的 Dijit 小部件。

为此,您需要分配输入 ID 并使用 dijit.byId()

另外,与原生 HTML 事件名称不同,Dojo 事件名称区分大小写。因此,onkeyup 指的是 native HTML,与 Dojo 事件名称 onKeyUp 不同。

我认为您在 constraints 中可能还有一个额外的“t”。

用法示例:

<html>
<head>
<title>Test</title>
<link type="text/css" rel="stylesheet" href="dijit/themes/tundra/tundra.css"/>
</head>
<body class="tundra">

<input id="input1" name="input" type="text"dojoType="dijit.form.NumberTextBox"/>

<script type="text/javascript" src="dojo/dojo.js"
djConfig="isDebug: true, parseOnLoad: true"></script>

<script type="text/javascript">
dojo.require("dijit.form.NumberTextBox");
dojo.addOnLoad(
function() {
dojo.connect(dijit.byId("input1"), 'onKeyUp',
function(e) { console.log('oh yeah'); });
}
);
</script>

</body>
</html>

关于javascript - Dojo 元素/小部件定位,我做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2202451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com