jQuery中有$(this)
但是在Dojo中有什么东西吗?
我正在尝试做这样的事情:
dojo.ready(function(){
dojo.query('a').onclick(function(){
var inter_page = window.location.href;
var inter_text = thiselementclicked.text();
if ( inter_text === ""){
inter_text = thiselementclicked.attr('class');
}
var inter_foward = thiselementclicked.href;
ga('send', 'event', ''+inter_page+'', ''+inter_text+'', ''+inter_foward+'');
});
});
谢谢和问候。
答案 0 :(得分:0)
运作良好:
dojo.query("a").onclick(function (e) {
console.log(this);
});
或者,如果您不想对列表采取行动:
var el = dojo.byId("myId"); // grab by id, or do another query
dojo.connect(node, "onclick", function () {
console.log(this);
});
答案 1 :(得分:0)
是的,在Dojo中也是如此,只需使用query(this)
,你应该从当前项目获得NodeList
,例如(在AMD中):
require(["dojo/query", "dojo/NodeList-manipulate", "dojo/domReady!"], function(query) {
query("a").on("click", function(evt) {
evt.preventDefault();
console.log(query(this).text());
query(this).attr('class').forEach(function(className) {
console.log(className);
});
});
});
请注意,.attr('class')
本身会返回一个列表,因此要获取实际的类名,必须循环它。