我选择了另一个开发人员构建的项目。他在实际的php页面上有一些JavaScript,这使调试变得很困难。
<button type="submit" onclick="doFunction(event)">Done</button>
我试图将其移动到javascript文件:
$( document ).ready(function() {
function doFunction(e){}
});
并将其从PHP页面中删除,但现在没有触发。为什么现在不起作用?如何解决?
最佳答案
您已经在另一个函数中定义了function doFunction(e){}
。
在本地范围内。它不是全球性的。无法通过onclick
属性访问它(因为未在同一函数中定义它们)。
不要使用onclick
属性,因为它们具有many problems,而是将事件处理程序与JavaScript绑定。
由于您使用的是jQuery:
$('button').on('click', doFunction);
如果愿意,可以使用更具体的选择器。
就是说,提交表单后,几乎所有您想使用的提交按钮都可以被单击。
$('form').on('submit', doFunction);