事件:“使用了弃用的符号,请查阅文档以获得更好的选择”

新手上路,请多包涵

PyCharm(我想它与 WebStorm 和其他 JetBrains IDE 相同)已经有一段时间对我在代码中使用的 event 变量发出微弱警告。

例如在下面的代码中

<div id="my-div" onclick="event.preventDefault();">...</div>

PyCharm 显示这条消息“使用了弃用的符号,请查阅文档以获得更好的选择”。

问题似乎是 event 变量指的是 Window.event ,根据 MDN Web 文档

您应该避免在新代码中使用此属性,而应该使用传递到事件处理程序函数中的 Event。此属性并未得到普遍支持,即使支持也会给您的代码带来潜在的脆弱性。

我知道正确的解决方法是在 javascript 标记中编写:

 document.getElementById("my-div").addEventListener("click", function(event) {
  console.log("And use this " + event + " instead");
});

我只是想知道,如果存在的话,在 HTML 代码中使用事件的正确方法是什么( onclick 属性)。

原文由 mistiru 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.6k
1 个回答

我不知道它对某人是否仍然重要,但在 WebStorm 2020.3 上测试了以下工作,并且 IDE 不会抱怨弃用。此外,WebStorm 将事件标识为 Event

下面的代码片段。

 (function() {
    const checkBox = document.querySelector("#id-checkbox");
    checkBox.addEventListener('click', (event) => {
        event.preventDefault();
    }, false);
})();
 <head>
    <script src="click.js" defer></script>
</head>
<body>
    <p>Please click on the checkbox control.</p>
    <form>
        <label for="id-checkbox">Checkbox:</label>
        <input type="checkbox" id="id-checkbox"/>
    </form>

    <div id="output-box"></div>
</body>

原文由 vazsonyidl 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题