给一个 div 元素添加一个 onclick 事件。

16 浏览
0 Comments

给一个 div 元素添加一个 onclick 事件。

我不知道这是否被允许或者是否可能。是否可以创建一个带有onclick事件的div元素,以便在div的任何区域被点击时运行该事件。

例如:

JavaScript代码:

var divTag = document.createElement("div");
divTag.id = "new-ID";
var onClickCommand = "printWorking()"   //printWorking是另一个简单地将"I'm working"打印到控制台的方法
divTag.onclick = onClickCommand;
console.log("onclick命令已添加");
console.log(divTag.onclick);
parentDiv.appendChild(divTag); //这只是将div标签添加到页面中

生成的HTML:


无论我决定添加到divTag.innerHTML的内容


我注意到生成的div中没有onclick命令。这是因为不被允许吗?

所以有两个问题。

1:是否可以为div添加onclick,并在点击div的任何区域时触发事件?

2:如果是,为什么我的onclick方法没有传递给我的div?


非常奇怪:

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

上面的方法完美地工作。

以下的方法都不行,并且不会将onclick传递给div。

divTag.onclick = printWorking;
divTag.onclick = "printWorking";
divTag.onclick = "printWorking()";

还尝试了其他多种变体。

0