javascript - 通过鼠标单击或输入键执行功能的有效方法
问题描述
我希望我的函数在按下提交按钮(已经存在)或按下 3 个输入中的任何一个(Id:taskInfo、dueDate、dueTime)中的任何一个中的 enter 键时执行。
我试过分离函数并这样做,但它根本不起作用..
function init() {
window.notes = getLocalStorage('notes') || [];
setNotesUi();
// make note with form inputs by using button +reset notes+ set localStorage
var submitElement = document.getElementById('submit');
submitElement.addEventListener('click', function ()
将需要以下函数来执行,同时在任何地方按下回车键,或者特别是在 3 个名为(taskInfo、dueDate、dueTime)的输入上执行,就像这里它只需要在提交按钮上单击鼠标即可
{
var taskInfoElement = document.getElementById('taskInfo');
var dueDateElement = document.getElementById('dueDate');
var dueTimeElement = document.getElementById('dueTime');
var note = {
taskInfo: taskInfoElement.value,
dueDate: dueDateElement.value,
dueTime: dueTimeElement.value
};
notes.push(note);
setNotesUi();
setLocalStorage('notes', notes);
});
}
将需要以下函数来执行,同时在任何地方按下回车键,或者特别是在 3 个名为(taskInfo、dueDate、dueTime)的输入上执行,就像这里它只需要在提交按钮上单击鼠标即可
解决方案
表单已经处理了这个。只需添加一个提交处理程序。在任何文本框上输入都会触发它。不需要额外的 JavaScript。
document.querySelector("#myForm").addEventListener("submit", evt => {
console.log("Submit called");
evt.preventDefault();
});
<form id="myForm">
<label for="a">A</label><input id="a"/>
<label for="b">B</label><input id="b"/>
<label for="c">C</label><input id="c"/>
<button>d</button>
</form>
推荐阅读
- rust - 如何使用 Raspian/Debian 在 ARMv7 上为 musl 创建静态链接的 Rust 程序?
- spring-boot - 如何在 Spring Boot 安全中配置站点授权?
- python - 将每个 Pandas Dataframe 行绘制为单独的图
- c - 根据结构内存动态分配 C 结构和访问成员
- tensorflow - DeepLab 的 --train_crop_size 实际上是做什么的?
- node.js - Twilion & Heroku
- c++ - Clang tidy 用 static_cast 替换 reinterpret_cast
- mysql - 如何在 MySQL 查询中使用数学公式?
- mysql-workbench - 错误代码:1822。添加外键约束失败。引用表 'category' 中的约束 'questions_ibfk_1' 缺少索引
- wpf - 使用 LinqToSql 填充 Combobox 并从中选择一个项目