从按钮调用 javascript 与 link

Calling javascript from button vs link

有谁能告诉我为什么在 HTML 页面中点击这个

<a onclick="addRow(); return false;" href="#">Add Row</a>

导致调用 addRow,但这

<input id="addRow" type="button" value="Add Row" onclick="addRow(); return false;" />

没有?

(我想要一个调用 addRow 的按钮。)

你可以像这样在按钮上添加监听器,这里是演示代码...

<button id="btn">Click me</button>

var button = document.getElementById('btn');
button.addEventListener("click", function(){
   addRow();
});
function addRow() {
   alert("working");
}

FIDDLE DEMO

其他将 JavaScript 添加为 onclick 与 HTML 内联将其添加为 JavaScript 中的事件侦听器:

document.getElementById("addRow").addEventListener("click", addRow, false);

问题出在 id 的名称 addRow 与函数调用 addRow() 之间,因为某些浏览器会将 id 解释为全局变量名称。这会导致内联函数调用出现问题 HTML。简单地更改 id 或函数名称也可以,例如将 id 更改为 id="add_row":

<input id="add_row" type="button" value="Add Row" onclick="addRow(); return false;" />