如何在html表单输入元素上模拟事件(焦点和模糊除外)?

如何在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,它工作得很好。