js点击事件报错 not a function

好几次用js点击事件,一模一样的写法,有时候没问题,有时候却报“Uncaught TypeError: submit is not a function”,一直很奇怪为什么会出现这种问题

我写了一个submit方法,可以简单理解为

function submit() {
    alert("submit");
}

在元素上设置onclick

type="button" id="submit" value="submit" οnclick="submit()">
onclick后面那个引号是可有可无的,但是最好加上,应该算是规范。

我这样设置会报“Uncaught TypeError: submit is not a function”,但是通过js或jquery获取元素设置点击事件却可以。

document.getElementById("submit").onclick = submit;

$("#submit").click(submit);
这两种都可以

为什么在元素中直接用onclick属性设置会出问题呢?
之后我做了一个测试,写了一个submit1的方法:

function submit1() {
    alert("submit");
}
type="button" id="submit" value="submit" οnclick="submit1()">

方法名为submit1是没问题的,由此可见,我这出现“Uncaught TypeError: submit is not a function”,是因为submit是种关键字之类的单词,导致设置onclick属性失败。

你可能感兴趣的:(js,前端)