gpt4 book ai didi

javascript - 事件代码在不同浏览器中的行为不同

转载 作者:太空宇宙 更新时间:2023-11-04 16:07:45 24 4
gpt4 key购买 nike

此 Meteor 客户端代码有两个按钮。单击CLEAR按钮会将以下内容打印到控制台:
Chrome:“清除页脚”
Firefox:“表单已提交”控制台还给出“ReferenceError:事件未定义”

如何解决此问题,以便在所有浏览器中打印“页脚清晰”?谢谢

Template.footer.events({
'click #clear': () => {
event.preventDefault();
console.log('footer clear'); //<---------- fired in Chrome
},
'click #info': () => {
event.preventDefault();
console.log('footer info');
}
});

Template.body.events({
'submit form': function (event) {
event.preventDefault();
console.log('form submitted'); //<---------- fired in Firefox
}
});
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div id="main">
<div id="content">
<form>
<button type="submit" style="display:none"></button>
{{> content}}
{{> footer}}
</form>
</div>
</div>
</body>

<template name="content">
<input type="text" id="plateNum" autocomplete="off">
</template>
<template name="footer">
<footer>
<button id="clear">CLEAR</button>
<button id="info">INFO</button>
</footer>
</template>

最佳答案

您需要将事件作为参数传递给您的点击处理程序:

Template.footer.events({
'click #clear': (event) => {
event.preventDefault();
console.log('footer clear'); //<---------- fired in Chrome
},
'click #info': (event) => {
event.preventDefault();
console.log('footer info');
}
});

Chrome 显然有一个名为“event”的全局变量,但 Firefox 对此很挑剔。

关于javascript - 事件代码在不同浏览器中的行为不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41751701/

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