如何在html表单输入元素上模拟事件(焦点和模糊除外)?
问题描述:
Html有许多事件类型。我试图模拟用JavaScript代码登录.hta。我尝试了文本输入元素上以下内容:我好像点击按钮,而无需输入用户名如何在html表单输入元素上模拟事件(焦点和模糊除外)?
user.focus();
user.value = 'JohnDoe';
user.blur();
button.click();
然而,页面响应。我怀疑当我使用脚本执行此操作时,事件处理程序在未被触发的元素上注册。我做什么来确定失败的原因并对其进行修改?如何模拟元素上的其他事件类型?
答
我找到了答案在这里:How to trigger event in JavaScript?
这里的食谱:
function fireevent(type, ele)
{
var event = win.document.createEvent("HTMLEvents");
event.initEvent(type, true, true);
ele.dispatchEvent(event);
}
如果取胜是有问题的窗口。 fireevent('change',用户)触发文本输入元素用户的更改事件,这就是我需要做的事情。现在它的工作原理:)
请注意,尽管createEvent现在已被弃用。在IE10上,我使用的是.hta,它工作得很好。