gpt4 book ai didi

javascript - 在 Firefox 中使用 JavaScript/jQuery 事件处理器

转载 作者:行者123 更新时间:2023-11-30 08:55:49 24 4
gpt4 key购买 nike

我有一个通过菜单导航功能提交表单的 jQuery 函数:

$(function () {
$('#sidebarmenu1 a').on('click', function () {
var url = $(this).attr('href');
$('#myform').attr('action', url);
$("#myform").submit();
if (event.preventDefault) { event.preventDefault(); } else { event.returnValue = false; }
})
});

本节:

if (event.preventDefault) 
{ event.preventDefault(); }
else
{ event.returnValue = false; }

阻止侧边栏按钮的默认操作(我认为 - 这仍然是新的)即简单地导航到页面。

以这种方式编写是为了让 IE 满意,因为 preventDefault 不是为 IE 定义的(可能在那里使用了不正确的术语,但 IE 不喜欢 preventDefault.)

但是现在这会在 Firefox 中引发错误,因为(正如我在其他 Stack 问题上所读到的)事件不是为 Firefox 全局定义的!我收到以下错误:

ReferenceError: event is not defined

现在根据这个 Stack 问题: event is not defined in FireFox, but ok in Chrome and IE

In IE and Chrome, event is resolving to window.event. Firefox doesn't have this property and instead provides an event to an event handler function by passing it as a parameter. jQuery abstracts this difference for you by providing an event object parameter in all browsers.

但我认为我在这里使用的是 jQuery,但问题仍然存在。

抱歉,如果我犯了基本错误,自学 js 和 jQ。非常感谢任何帮助。

最佳答案

这应该可以..

$(function() {
$('#sidebarmenu1 a').on('click', function(e) {
var evt = e || window.event;
var url = $(this).attr('href');
$('#myform').attr('action', url);
$("#myform").submit();
evt.preventDefault();
})
});​

关于javascript - 在 Firefox 中使用 JavaScript/jQuery 事件处理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13654787/

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