任何人都可以向我解释为什么触发点击事件而没有任何点击实际发生?
var svgWindow = d3.select("body")
.append("svg")
.attr("width", widthWindow)
.attr("height", heightWindow)
.attr("x", svgXWindow)
.attr("y", svgYWindow);
var windowContainer=svgWindow.append("g").attr("id", "window_container");
var userNodes=windowContainer.append("g")
.attr("class", "userNode")
.attr("id","useriddata")
.selectAll(".userNode")
.on("click", alert('error'));
答案 0 :(得分:0)
它必须位于function(){}
中才能在click
事件被触发时执行警告:
var userNodes=windowContainer.append("g")
.attr("class", "userNode")
.attr("id","useriddata")
.selectAll(".userNode")
.on("click", function(){alert('error');});
一旦alert()
被调用,userNodes
就会被评估,(和所谓的)alert()
,因此它甚至不会被点击就会触发userNodes
。一旦它处于一个函数中,一旦{{1}}被调用广告就会评估该函数,然后它只在点击时执行。