如何使用事件模拟完整的用户输入

我需要在输入字段中模拟用户输入:


<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);

});


POPMUISE
浏览 258回答 3
3回答

阿波罗的战车

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来模拟人为延迟。祝你好运!

智慧大石

您可以使用触发器jquery函数来模拟和触发任何事件。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript