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

GTS*_*Joe 7 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);       
Run Code Online (Sandbox Code Playgroud)
<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>
Run Code Online (Sandbox Code Playgroud)

Vin*_*esh 7

您可以使用构造函数来完成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();
});
Run Code Online (Sandbox Code Playgroud)
<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>
Run Code Online (Sandbox Code Playgroud)