javascript - 如何以编程方式触发 Focusout 事件

标签 javascript blur focusout

如何仅使用 JavaScript 而不是 jQuery 以编程方式触发焦点事件?

例如,在下面的代码中,其想法是它应该提醒“Hello, world!”因为 focusout() 函数(或类似的事件引发函数)被调用(focusout() 不是 JS 函数,但这就是想法)。

function helloWorld () {
  alert('Hello, world!');
}

document.getElementsByTagName( 'form' )[0].addEventListener( 'focusout', function( eventObj ) {
  helloWorld();
});

var event = new Event('focusout');
document.getElementsByTagName( 'form' )[0].dispatchEvent(event);       
<form action="" method="post" id="sampleForm">
	<input type="text" id="linkURL" name="linkURL" placeholder="Link URL"><br>
  <input type="submit" name="action" value="Submit">
</form>

最佳答案

您可以使用Event构造函数来做到这一点。

function helloWorld () {
  alert('Hello, world!');           
}

var event = new Event('focusout');
document.getElementsByTagName( 'form' )[0].dispatchEvent(event);  

document.getElementsByTagName( 'form' )[0].addEventListener( 'focusout', function( eventObj ) {
  helloWorld();
});
<form action="" method="post" id="sampleForm">
	<input type="text" id="linkURL" name="linkURL" placeholder="Link URL"><br>
  <input type="submit" name="action" value="Submit">
</form>

关于javascript - 如何以编程方式触发 Focusout 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49228284/

相关文章:

javascript - Facebook Javascript SDK 和 CSP

javascript - Jquery 插件不适用于 Rails 4

javascript - 尝试在 jQuery blur() 事件中设置条件

jquery - CKEditor 聚焦

javascript - Bootbox.js 正在向上滚动窗口

javascript - 渲染 EJS 模板并将其保存为文件

javascript - extjs 触发器字段不触发模糊

android - 在android中打开滑动菜单时禁用webview

jquery - Focusout 事件在输入事件 jQuery 中的第一次激活时不起作用

javascript - 焦点文本字段检查它是否是数字