动态创建的html按钮不像其他常规按钮那样响应onclick

时间:2015-05-09 14:35:59

标签: php jquery html mysql

我有一个以常规html格式创建的常规按钮:

<button id="create-booking">New Booking</button>

与之相关的事件为:

  $("#create-booking").button().on("click", function() {
          dialog.dialog("open");
      });

哪个工作完全正常。

但是如果我通过php创建一个按钮(因为只有在表中填充MySQL记录时才会出现按钮),那么我会将其创建为:

printf("<button class='del'>Delete</button>");

所以我将函数应用于它......

$(".del").button().on("click", function() {
          alert("hi, test");
      });

它根本不起作用。你点击它,它什么也没做。

两种情况之间有什么区别?它们不完全一样吗?

1 个答案:

答案 0 :(得分:1)

您的问题可能是在相关的javascript触发之前,您的function addToResult(pts) { // NaN is falsy, so you can just use || to make a fallback to 0 var result = parseInt(resDiv.innerText, 10) || 0, lvl = 0, a = 100; result = result + parseInt(pts, 10) || 0; while (result > 5 * a) { lvl += 1; a += 100; } resDiv.innerText = result; levelDiv.innerText = lvl; localStorage.setItem("myResult", result); localStorage.setItem("myLevel", levelDiv.textContent); } 在DOM中无法使用。确保:

1)如果您的javascript包含在单独的脚本文件中,并且包含在<button>或类似的

document.ready

2)如果您的$( document ).ready(function() { $(".del").click(function() { ..etc.. }); }); 与您的<button> <script>元素包含在后<button>元素 }