DOM元素的Dojo委托's的ID
Dojo delegate to DOM Element's ID
我正在使用一个JSP,它根据用户的权限或其他因素动态地包括DOM元素,如按钮。
现在,在我的JS中,我使用了:dojo.connect(dojo.byId('dispatchBtn'), 'onclick', function() { //logic }
问题是,如果"dispatchBtn"不存在,因为它是根据用户的权限剥离的,那么JS无论如何都只调用"//logic"
的所有内容。
我尝试将此呼叫更改为:eventView.delegate(dojo.byId('dispatchBtn'), 'onclick', function() { //logic }
但这似乎根本不起作用,即使对于确实存在的按钮也是如此。在不明确测试按钮是否存在的情况下,最好的方法是什么。我不想更改这些按钮元素上的标记,也不想更改其他类,只想通过ID引用它们。
您可以像jquery live一样在文档级别进行绑定。
require(["dojo/on", "dojo/query"], function(on){
on(document, "#dispatchBtn:click", function(evt){
alert("Clicked on node " + this.id);
});
});
Fiddle:http://jsfiddle.net/theinnkeeper/NTn6g/
为什么不赞成检查按钮是否存在?这是最有意义的
var btn = dojo.byId("dispatchBtn");
if(btn) {
on(btn, 'onclick', function() {});
}
相关文章:
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- difference between '$(<%= DDL.ID %>) & $('
- 使用Javascript获取所选选项ID
- 根据id将json数组组合为一个json数组
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 对id以某个字符串开头的元素进行计数
- 如果元素's的ID以数字开头
- 通过id和class属性获取元素
- 根据选项卡内部的文本链接中的哈希ID动态选择jqueryUI选项卡
- 使用当前日期生成随机id
- Javascript-ID冲突的几率
- Href:当前DIV中的目标ID
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- Javascript复选框函数:;缺少:在属性id之后"
- Twitter引导程序Typeahead-Id&标签
- 如何与特定ID交谈
- chart.series[id].remove()无法刷新高位图表/高位股票中其他系列的图例属性
- 如何在速度模板中获取LiferayPortlet实例id
- DOM元素的Dojo委托's的ID
- 为什么我不能使用委托来引用id ?