javascript - 动态创建的按钮 onClick 不起作用

标签 javascript jquery html

我有以下代码,在 $(document).ready() 中被调用:

btnHolders.appendChild(_createButton("Note", function(){
    showNote();
}));

var _createButton = function(name, func){
  var btn = document.createElement("input");
  btn.type = "button";
  btn.id = "btn" + name;
  btn.onclick = func;
  btn.value = name;

  return btn;
};

但是,当我查看源代码时,我得到以下信息:

<input type="button" id="btnNote" value="Note">

最佳答案

当您调用之前未定义的函数时,我对您的代码进行了一些重构。另外,既然您已经包含了它,为什么不使用 jQuery 来缩短代码呢?

var btnHolders = $('#btnHolders');

_createButton("Note", showNote);

function _createButton(name, func){
  var btn = $('<input/>').attr({
      'type': 'button',
      'id': 'btn' + name,
      'value': name
  }).bind('click', func);

  btnHolders.append(btn);
};

function showNote() {
    console.log('test');
}

DEMO

关于javascript - 动态创建的按钮 onClick 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21825505/

相关文章:

javascript - 如何从 HTML5 使用 native 代码 (windows)

javascript - 如何在 JavaScript 中旋转色调

javascript - 使用 jquery.validationEngine.js 处理默认表单值

jquery - 加载 jQuery 自动完成功能时出现问题。获取类型错误。也变得迷茫

html - 在 Safari 中每个 DIV 表格元素获得不需要的 1px 额外高度

html - 电视形 CSS 图定界图像

javascript - 选定对象上的 Raphael JS 自由变换

Javascript 无法在 WebView 中工作 - Android

javascript - 如何使用localize.js翻译交叉js文件。例如 SweetAlert2.js

Javascript 函数不在加载时获取数据