gpt4 book ai didi

JQuery:提交时不起作用

转载 作者:行者123 更新时间:2023-12-03 22:23:28 25 4
gpt4 key购买 nike

我想要捕获所有表单提交事件,从操作属性获取 url,并使用它通过 AJAX 将表单内容发送到该地址。所以我只需要一个提交事件处理程序。然而我很快就遇到了麻烦,因为它似乎无法在 IE 中工作。

$(document).submit(function(e) {
alert('clicked');
e.preventDefault();
});

这是我用于跨浏览器测试目的的代码。它在 Chrome、Firefox 中完美运行,但在 IE 中不起作用。我是否不允许在文档上设置事件监听器?

最佳答案

看看 jQuery API:

The JavaScript submit event does not bubble in Internet Explorer. However, scripts that rely on event delegation with the submit event will work consistently across browsers as of jQuery 1.4, which has normalized the event's behavior. (api.jquery.com/submit)

submit 事件不会在 Internet Explorer 中冒泡,因此 document 元素永远不会收到 submit 事件的通知。 jQuery 将为您标准化这一点,但前提是您使用事件委托(delegate)。这并不难做到,事实上,如果代码更复杂的话,它可能会让你的代码变得更好:

$(document).on('submit', 'form', function(e) {
alert('clicked');
e.preventDefault();
});

这保留了绑定(bind)到文档的优点(例如捕获尚不存在的元素上的事件),同时使其在 IE 中成为可能。请注意,事件处理程序中的 this 现在是 form 元素,而不是 document

关于JQuery:提交时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11172811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com