4

これは、ユーザーが単一の入力フォームでajaxを介して入力を送信した後、入力をクリアする際に機能します。

var tweet_input = document.getElementById( 'tweet_input' );
tweet_input.value='';
tweet_input.blur();

ただし、3つの入力フィールドormでは、これは行われません。

var input_url = document.getElementById( 'bookmark_input_url' );
    input_url.value='';
var input_title = document.getElementById( 'bookmark_input_title' );
    input_title.value='';
var input_tag = document.getElementById( 'bookmark_input_tag' );
    input_tag.value='';

input_title.blur();
input_url.blur();
input_tag.blur(); 

最後の要素だけが実際にぼやけています。ここで他の2つで何が起こっているのか、またはトラブルシューティングの方法がわかりません。

基本的に、blur()で起動するイベントリスナーがあり、実際のユーザーblur()で正常に機能しますが、プログラムで開始しようとすると、1つしか機能しません。

4

2 に答える 2

11

最初に焦点を合わせる必要があります。

input_title.focus();
input_title.blur();
...
于 2012-05-23T15:29:30.233 に答える
1

私の場合、これは問題なく機能します。

const fireEvent = (element, eventType="blur") => element && element.dispatchEvent(new Event(eventType));

これで、任意の要素に関連付けられた任意のイベントを発生させたい場所からこの関数を呼び出すことができます。

fireEvent(input_title)

参照

于 2019-11-27T08:48:28.487 に答える