gpt4 book ai didi

javascript - 来自 'on' 的 Dojo 'byId' 事件触发 TypeError

转载 作者:行者123 更新时间:2023-12-03 07:15:37 24 4
gpt4 key购买 nike

我有一个模块,其中包含生成内容的 switch 语句,以及等待的各种 on 事件,具体取决于插入到 DOM 中的内容,然后激活哪个触发器。

我发现on事件处理程序使用dom.byId('foo'):

on(dom.byId('foo'), touch.press, function(e){

产生错误:

未捕获类型错误:无法读取 null 的属性“on”

我可以理解这一点 - 如果节点 foo 尚不存在,因为已经满足了不同的切换条件,但我已经设法通过使用 css 类来解决这个问题:

on(query('.foo'), touch.press, function(e){

但这与 id 存在的机会相同!

我对 Dojo 比较陌生,并且很“有趣”地掌握它,我很想知道为什么会发生这种情况,但如果这是我做错了什么的大危险信号!

最佳答案

没有完整的代码很难说,但如果你想使用查询,你需要使用这种方式:

require(["dojo/query"], function(query){
query(".foo").on("click", clickHandler);
});

我不知道你的项目的背景,但如果它是针对移动设备的,你可能会看到“dojo/gesture/tap”,就像文档中的这个例子一样:

define(["dojo/on", "dojo/gesture/tap", function(listen, tap){
on(button, tap, tapHandler);
...

关于javascript - 来自 'on' 的 Dojo 'byId' 事件触发 TypeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36438925/

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