在Jquery代码中,我遇到以下情况:
$("#input_field").on('input', function () {
setTimeout(function (e) {
$.post("endpoint.php", $('#main').serialize(), function (response) {
parseRes(response);
});
}, 1);
});
$("#input_field").on("paste", function () {
setTimeout(function (e) {
$.post("endpoint.php", $('#main').serialize(), function (response) {
parseRes(response);
});
}, 1);
});
唯一不同的是事件("输入"或"粘贴")。
有没有办法避免这种重复(例如,向一个代码块添加更多事件)?
答案 0 :(得分:4)
尝试,
$("#input_field").on('input paste',function() {
setTimeout(function(e) {
$.post("endpoint.php", $('#main').serialize(), function (response) {
parseRes(response);
});
}, 1);
});
请阅读here以了解有关.on()
答案 1 :(得分:2)
.on(events [,selector] [,data],handler(eventObject))
事件:一个或多个以空格分隔的事件类型和 可选的命名空间,例如“click”或“keydown.myPlugin”。
这意味着您的代码简单归结为:
$("#input_field").on('input paste',function() {
// ...
});