[javascript] 添加一个onclick事件到一个div



Answers

像这样分配onclick:

divTag.onclick = printWorking;

onclick属性在分配时不会占用字符串。 相反,它需要一个函数引用(在这种情况下, printWorking )。
onclick属性可以是以HTML格式分配的字符串,例如<div onclick="func()"></div> ,但通常不建议这样做。

Question

我不知道这是否允许甚至可能。 是否有可能创建一个带有onclick事件的div元素,这样如果div区域的任何地方被点击,事件就会运行。

例如JAVASCRIPT:

var divTag = document.createElement("div");
divTag.id="new-ID"; 
var onClickCommand = "printWorking()"   //printworking is another method that simply print "I'm working" to the console
divTag.onclick = onClickCommand;
console.log("onclick command added");
console.log(divTag.onclick);
parentDiv.appendChild(divTag); //This simply adds the div tag to the page.

生成的HTML:

 <!--<div id="new-ID">-->

 whatever content I decide to add to the divTag.innerHTML

我注意到如何没有onclick命令通过生成的div。 这是因为它不允许?

那么2个问题呢。

1:是否可以添加onclick到一个div,并发生如果div的任何区域被点击。 2:如果是,那么为什么onclick方法不会通过我的div。

有多奇怪:

divTag.setAttribute("onclick", "printWorking()");

以上作品完美无瑕。

以下所有不,也不会通过的onclick到div。

divTag.onclick=printWorking;

divTag.onclick="printWorking";

divTag.onclick="printWorking()";

多个其他变种也已经尝试过了。




Links