我需要在输入字段中模拟用户输入:<input type="text" id="name">应手动触发以下事件:mousedown > focus > mouseup > click > keydown > keypress > change > blur代码显示在这里如果我使用此代码,它们应该会被检测到:var element = document.getElementById('name');$(element).on('mousedown focus mouseup click keydown keypress change blur', function(e){ console.log(e);});更新的文件(没有被检测到,没有控制台日志......):$("#name").trigger("mousedown");$("#name").trigger("focus");$("#name").trigger("mouseup");$("#name").trigger("click");$("#name").trigger("keydown");$("#name").trigger("keypress");$("#name").trigger("change");$("#name").trigger("blur");var element = document.getElementById('name');$(element).on('mousedown focus mouseup click keydown keypress change blur', function(e){ console.log(e);});
3 回答
阿波罗的战车
TA贡献1862条经验 获得超6个赞
trigger为此,您将使用 jQuery 。因此,如果您想按照您描述的顺序模拟事件:
$("#name").trigger("mousedown");
$("#name").trigger("focus");
$("#name").trigger("mouseup");
$("#name").trigger("click");
$("#name").trigger("keydown");
$("#name").trigger("keypress");
$("#name").trigger("change");
$("#name").trigger("blur");
如果您想真正模拟用户,您也可以使用一些setTimeout来模拟人为延迟。祝你好运!
添加回答
举报
0/150
提交
取消