5

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

例如,在下面的代码中,想法是它应该提醒“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>

4

2 回答 2

6

您可以使用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>

于 2018-03-12T04:55:10.197 回答
0

我们也可以使用“hideFocus”属性来实现。

前任:

document.getElementById('linkURL').hideFocus;

于 2021-01-27T16:34:24.947 回答