如何获取在DOM中创建的按钮元素,运行一个函数

时间:2017-06-05 16:42:49

标签: javascript jquery html

我使用javascript创建了一个按钮元素,现在想知道如何找到该元素或者选择它并让它调用这个函数:

    function test() {
      alert("it works!");  
    } 

7 个答案:

答案 0 :(得分:1)

使用addEventListener

var btn = document.createElement("BUTTON");
var t = document.createTextNode("ok");
btn.appendChild(t);
document.body.appendChild(btn);

btn.addEventListener('click', test);

// My Test Function
function test() {
  alert("it works!");  
} 

答案 1 :(得分:1)

您可以执行以下操作,将点击功能应用于按钮;

$(btn).on('click', test);

答案 2 :(得分:1)

也许这样。

$("body").append("<button>Button</button>");

$("button").click(function(){
  alert("it works!");  
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

答案 3 :(得分:0)

jquery的另一个选项:

var btn = document.createElement("BUTTON");
var t = document.createTextNode("ok");
btn.appendChild(t);
document.body.appendChild(btn);

$('body').on('click', 'BUTTON', function(event) {
  alert("it works!");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

答案 4 :(得分:0)

动态创建按钮后,您的按钮就是对象。这意味着您可以使用点语法轻松地为其指定属性和函数。因此,例如,如果您想提供动态按钮onclick功能,您可以这样做:

btn.onclick = function() { 
  // add the JS function you want on the dynamic button here
 };

答案 5 :(得分:0)

var btn = document.createElement("BUTTON");
btn.onclick = function() { test(); }
var t = document.createTextNode("ok");
btn.appendChild(t);
document.body.appendChild(btn);

https://jsfiddle.net/k30nf9oo/

答案 6 :(得分:0)

请看下面的代码段。

var bIsCreated = false;
$(document).ready(function() {
  $("#createNewButton").on("click", createNewButton);
  $(document).on("click", ".newButton", function() {
    alert("I am a new button");
  });
});

function createNewButton() {
  if (!bIsCreated) {
    var $newButton = $("<button/>").addClass("newButton")
      .html("I am a new button");
    $newButton.appendTo(".container");
  }
  alert("I am a old button");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="container">
  <button id="createNewButton"> Create a new button</button>
</div>