如何创建一个 onclick 元素并将其分配给在 JS 中创建的另一个元素

How To Create And Assign And Onclick Element To Another Element Created In JS

因此,我尝试制作一个元素,然后通过 JS 为其分配一个 onclick。

到目前为止,这是我的代码:

HTML

<div id = "Programs" onclick = "Cpb()">Programs</div>

JS

function Cpb() {
  document.getElementById("AllBody").innerHTML = "";
  var rh = document.createElement("h2");
  var rht = document.createTextNode("Recent Programs");
  rh.id = "Recentt";
  var rh1 = document.createElement("h4");
  var rh1t = document.createTextNode("test");
  rh1t.onclick = window.open('website');
  rh1.appendChild(rh1t);
  rh.appendChild(rht);
}

有人知道我该怎么做吗?

我想你想要 addEventListener

示例:

 rh1t.addEventListener('click', myHandlerFunction);

 function myHandlerFunction () {
   // ...
 } 

您可以像在代码中一样继续使用 onclick。但是你需要像我上面那样做,并为它分配一个函数引用。像这样:

  rh1t.onclick = myHandlerFunction;
  function myHandlerFunction () {
    window.open('website');
  }

这个 javascript 对我有用:

let h4Node = document.createElement("H4");
h4Node.innerHTML = "4th Header";
h4Node.onclick = function (){
    alert('Oi!');
};
document.getElementById("demo").appendChild(h4Node);

Html:

<div class="demo"></div>

它将在演示中放置一个带有 onclick 事件侦听器的 h4 元素 div。