2

関連トピックで見つかったほとんどの回答をフォローして試してみたところ、これに関する問題が発生しました:イベントが人間によってトリガーされたかどうかを確認してください

しかし、何らかの理由で (私には理解できません)、私のコードは機能しません。

上記の回答された質問との唯一の違いは、私が使用することです:

$("#try").get(0).click();

それ以外の

$("#try").click();(これは私にはうまくいかないので、上記のコードを使用しています)

問題:

$("#try").get(0).click();人間がトリガーしたイベント [object MouseEvent] を常に返します。

使用したイベントを変更せずに、クリックイベントが人間によって物理的にトリガーされているかどうかを正確に知る方法はありますか?

注:$("#try").get(0).click();フレームを使用してテーブルの行情報を表示および非表示にする (トグル) ため、イベントを使用します。

目標:一度に 1 つのフレームのみを開き、他のフレームを閉じる (他のフレームのクローズは jquery イベントによってトリガーされます)。

テストコードのサンプル:

$("#try").click(function(event) {
    if (event.originalEvent === undefined) {
        alert('not human')
    } else {
        alert(' human');
    }


});

$('#click').click(function(event) {
   // $("#try").click();
    $("#try").get(0).click();
});
4

1 に答える 1

4

を試してみてtrigger()ください$("#try").click();

$("#try").click(function (event) {
   if (event.originalEvent === undefined) {
     alert('not human')
   } else {
      alert(' human');
   }
});

$('#click').click(function (event) {
  // $("#try").click();
  $("#try").trigger('click');
});

ここでフィドル

于 2013-06-20T07:35:30.157 に答える