无需单击按钮即可调用js函数

时间:2019-09-16 17:36:09

标签: javascript button

有问题,在单击按钮3之前调用了该函数。我该如何解决该错误,以及为什么button3不起作用? o_O在该代码中找不到我的失败。

Buttons()

function Buttons() {
  var buttonDivs = document.getElementById('Buttons')
  var buttons = document.createElement('input')
  buttons.setAttribute('type', 'button')
  buttons.setAttribute('name', 'button3')
  buttons.setAttribute('value', 'button3')
  buttons.setAttribute('id', 'btn');
  buttons.onclick = function3('button3');
  buttonDivs.appendChild(buttons)
}

function function3(something) {
  console.log('hello' + something)
}
<div id="Buttons">
  <button onclick="function3('test1')">Button1</button>
  <button onclick="function3('test2')">Button2</button>
  <br><br><br><br>
</div>

2 个答案:

答案 0 :(得分:11)

您是在调用函数而不是传递函数,而是在function3函数内调用onclick,如:

buttons.onclick = function(){ function3('button3') };

Buttons()

function Buttons() {
  var buttonDivs = document.getElementById('Buttons')
  var buttons = document.createElement('input')
  buttons.setAttribute('type', 'button')
  buttons.setAttribute('name', 'button3')
  buttons.setAttribute('value', 'button3')
  buttons.setAttribute('id', 'btn');
  buttons.onclick = function(){ function3('button3') };
  buttonDivs.appendChild(buttons)
}

function function3(something) {
  console.log('hello' + something)
}
<div id="Buttons">
  <button onclick="function3('test1')">Button1</button>
  <button onclick="function3('test2')">Button2</button>
  <br><br><br><br>
</div>

答案 1 :(得分:-2)

从名称为 Buttons

的父div中删除这两个按钮