3

select' ' 要素が、まったく別の区切り線をクリックしているときにクリックされたかのように動作するようにしたいと考えています。クリックされていないときにクリックされたように動作させることは可能ですか??

ここに私のコードがあります http://jsfiddle.net/fiddlerOnDaRoof/B4JUK/

$(document).ready(function () {
    $("#arrow").click(function () {
        $("#selectCar").click() // I also tried trigger("click");
    });
});

これまでのところ、どちら.click(); でも機能しませんでした.trigger("click");

アップデート:

私が現在理解していることから、答えはノーです。できません。クリックは機能を複製しますが、このような特定の例では機能しません。誰かが理由を知っている場合は、以下に回答を投稿してください。ベストアンサーとして受け入れます。できれば、正しく機能しない例を含めてください。

4

6 に答える 6

9

次のようなトリガー(イベント)関数を使用できます ("selector").trigger("click")

于 2012-05-04T12:32:44.077 に答える
2

click引数なしで関数を呼び出すことができます。これにより、人為的なクリックがトリガーされます。例えば:

$("selector for the element").click();

これにより、jQuery ハンドラーと (私が信じている) DOM0 ハンドラーも起動します。ここでわかるように、DOM2 スタイルの / 呼び出し介して追加されたハンドラーは起動しませソースaddEventListenerattachEvent

jQuery(function($) {

  $("#target").click(function() {
    display("<code>click</code> received by jQuery handler");
  });
  document.getElementById("target").onclick = function() {
    display("<code>click</code> received by DOM0 handler");
  };
  document.getElementById("target").addEventListener(
    'click', 
    function() {
      display("<code>click</code> received by DOM2 handler");
    },
    false
  );

  display("Triggering click");
  $("#target").click();

  function display(msg) {
    $("<p>").html(msg).appendTo(document.body);
  }
});

そして、DOM0 ハンドラーの属性メカニズムを使用するバージョン( source ) があります。onclick="..."それもそのようにトリガーされます。

また、おそらくデフォルトのアクションを実行しないことに注意してください。たとえば、この例( source ) ではリンクを使用していますが、リンクはたどられません。


要素にアタッチされたハンドラーを制御している場合、これは通常、優れた設計上の選択ではありません。代わりに、理想的には、関数を実行したいアクションを作成し、要素がクリックされたときと、そのアクションを実行したいときの両方でその関数を呼び出します。ただし、他のコードによってアタッチされたハンドラーをトリガーしようとしている場合は、シミュレートされたクリックを試すことができます。

于 2012-05-04T12:32:58.400 に答える
1

はい。

$('#yourElementID').click();
于 2012-05-04T12:33:14.777 に答える
0

jsfiddleを見て、最初にこのツールの使い方を学びましょう。

jQueryではなくMooToolsを選択しました。(ここで更新)

現在、選択で「クリック」イベントをトリガーしてもあまり効果はありません。2番目の選択を1番目の選択と同時に展開する必要があると思います。

私の知る限り、それは不可能です。

そうでない場合は、selectで「change」イベントを試してください。

于 2012-05-04T12:53:47.137 に答える
0

jquery でイベント リスナーを追加した場合は、.trigger(); を使用できます。

$('#my_element').trigger('クリック');

于 2012-05-04T12:33:34.243 に答える
0

確かに、次を使用して何かのクリックをトリガーできます。

$('#elementID').trigger('click');

こちらのドキュメントをご覧ください: http://api.jquery.com/trigger/

于 2012-05-04T12:33:47.573 に答える