dojo.connect中节点的含义(node,onclick,callback)

时间:2016-09-08 14:38:38

标签: javascript exception-handling dojo event-binding

我正在尝试将一个标志变量传递给节点,在该节点中它验证flag是否为true然后执行dojo.connect(flag,onclick,callback)。其他它跳过回调函数。

1 个答案:

答案 0 :(得分:1)

Node是构成HTML的每个元素的DOM对象表示,基本上。

查看正式的Dojo Toolkit文档,了解它的功能: https://dojotoolkit.org/reference-guide/1.10/dojo/connect.html

你还没有指定,但我想你在它的1.6中使用了Dojo,这是一个古老的做法,因为我们已经在它的结构功能中实现了AMD架构,你必须有这样的东西:

// Saving your handle
var handle = dojo.connect(node, "onclick", callback);
// Removing the handle
dojo.disconnect(handle);

当你使用dojo.connect(flag, onclick, callback)时,我们假设你有一个元素,一个DOM节点(在这种情况下是'flag')。

在Dojo 1.6或更早版本中,您可以通过它的ID获取节点,如:(某些官方文档:https://dojotoolkit.org/api/#dojo.byId

// Here's your node (by ID)   
var my_node = dojo.byId("foo");

希望它有助于您的理解。

你需要这样的东西吗?

// Your custom callback
function your_callback_function() {
  // You business rules, in this case:
  if (dojo.query('#your_flag:checked')) {
    // Do something..
  }
}

// binding event to the DOM-node and callback 
var handle = dojo.connect(dojo.byID("your_flag"), "onclick", your_callback_function);

你可以看到更多关于< 1.6版本Dojo Events的功能在:https://dojotoolkit.org/reference-guide/1.6/dojo/index.html#events

我建议您了解更多关于AMD和Dojo的新功能,因为它已经发生了变化。