我尝试将onclick事件附加到一组具有相同id("linkToDisplay")
的链接,但它似乎没有触发我的onclick事件代码如下:
var handle = [];
var link = dojo.query('#linkToDisplay a').forEach(function(node, index, array){
handle.push(dojo.connect(node,
"onclick",
null,
function(evt) {
console.log("mouseup detected, firring off server request");
dojo.xhrGet({url:'default/data/getPageContent?main=true&pageId='+evt.target.name,
load: funcCallBack,
error: funcError});
}
));
});
funcError和funcCallBack已定义并正在工作(如果我只传入dojo.getId检索到的单个对象,否则我的脚本会静默失败)。
我将这段代码放在dojo.addOnLoad代码块中,当我单击页面上的任何地方时,我没有看到任何事件被触发,所以我非常肯定将事件侦听器附加到错误的DOM部分不是问题。
2条答案
按热度按时间xzabzqsa1#
因此,Dojo似乎强制了一个id唯一的模式,因此,如果某个DOM元素的id与另一个元素的id匹配,最终结果是查询方法只返回第一个。
下面是我最终得到的一个例子:
.links指定class=“links”,然后从这里开始,我通过在后面包含'a'对任何锚对象进行排序,并使用一个方便的函数处理onclick事件,获取目标并将其传递给onSubmit函数(它包含一些验证和一个xhr请求)。
wqnecbli2#
试试这个: