Mar*_*ahn 3 javascript javascript-events
每次按下提交表单时,相关表单中第一个enter的click()功能<button>都会被触发.问题(除了我发现这种行为很奇怪的事实)是它实际上是一个click事件,与实际点击按钮无法区分.如果它在我的提交按钮上触发了偶数,我就可以了.
问题是,在这种情况下,第一个按钮与实际表单无关,它实际上是一个隐藏的弹出窗口.
所以确切的问题:为什么会发生这种情况?我该如何预防呢?我如何区分这个"虚假点击"事件与真实事件?
(这是一个非常简化的示例;实际代码使用的是jQuery(如果jQuery碰巧承认这个并且有一个修复),但实际问题与jQuery无关)
<form>
<input>
<button onclick="alert('button A click');">Button A</button>
<button onclick="alert('button B click');">Button B</button>
<input type="submit" value="Submit Button">
</form>
Run Code Online (Sandbox Code Playgroud)
请不要"移动按钮"的建议
-snip-
<form>
<input>
<button type="button" onclick="alert('button A click');">Button A</button>
<button type="button" onclick="alert('button A click');">Button B</button>
<input type="submit" onclick="alert('button Submit click');" value="Submit Button">
</form>
Run Code Online (Sandbox Code Playgroud)
实际上我把它拿回来...原因是比这更具体和简单.提交是<button>w3c指定的默认类型.因此,通过type在表单上保留按钮属性为空白,您正在制作三个提交按钮,当您点击时它会选择第一个enter(喜欢<kbd>此网站上的样式:P).请参阅此处获取w3c信息,此处查看更新的小提琴