1
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
  </script>
  <title>test trigger</title>
</head>
<body>

  <script>
  $(document).ready(function(){ // on document ready
    $("#testbed").trigger('click'); // click the element
  })
  </script>

  <a id="testbed" href="http://www.google.com">testing</a>
</body>
</html>

ドキュメントの準備ができたら、このコードがテストベッドのリンクを自動的にクリックすることを期待しています。しかし、リンクはクリックされません。

4

8 に答える 8

1

クリックを定義する必要がありますtestbed

$(document).ready(function(){ // on document ready    
    $("#testbed").click(function(){ // on document ready
       alert("clicked");
    });
    $("#testbed").trigger('click'); // click the element
});

クリックイベントが不要で、単にリンクの href に移動したい場合は、使用できますwindow.location.href = url;

$(document).ready(function(){ // on document ready       
    window.location.href = document.getElementById("testbed").href;
});

パフォーマンスを向上させるために、可能な限りネイティブ関数やプロパティなどを使用してみてください。jsprefに対するさまざまな属性アクセス メソッドのパフォーマンスの違いを確認できます。

于 2013-07-26T06:04:54.840 に答える
1

clickイベントがトリガーされます。例を試してください:

$(document).ready(function(){ // on document ready
    $("#testbed").on ('click', function() {
        alert('click event');
    });

    $("#testbed").trigger('click'); // click the element
})

URL にアクセスする実際のアクションはhref発生しません。window.locationページを変更し、jQuery をバイパスするために使用できます。

于 2013-07-26T06:05:58.920 に答える
0

次のコードを試してください。

 <script>
  $(document).ready(function(){ // on document ready

   //Following code simulates a click event
    anchorObj =  $("#testbed")[0]; 
    var evt = new MouseEvent('click', {
      'view': window,
      'bubbles': true,
      'cancelable': true
    });
    anchorObj.dispatchEvent(evt);
  });
  </script>

これは、アンカーの実際のクリック イベントをシミュレートするため、機能します。ただし、要素に対して定義されたクリック ハンドラーのみを実行するため、jQuery クリックは機能しません。

于 2013-07-26T06:32:30.737 に答える
0

あなたはこれを試すことができます、

<script>
$(document).ready(function(){ // on document ready
  $("#testbed")[0].click(); // click the element
})
</script>
于 2013-07-26T06:33:29.890 に答える
0

なぜあなたはこれを試してみませんか

<script>
$(document).ready(function(){ // on document ready
    var url = "http://www.google.com";
    window.location.href = url;
})
</script>
于 2013-07-26T06:04:43.650 に答える
0

トリガーは、リンク テストベッドにないクリック イベントを実行するために使用されます。ページをそのリンクにリダイレクトしたい場合は、window.location.href を使用しないでください。

window.location.href = $("#testbed").attr('href');
于 2013-07-26T06:05:38.323 に答える
0

.click() は、定義されたクリック関数を呼び出します。ユーザーのクリックはシミュレートされません。次のコードは、必要な機能を提供するはずです。

$(document).ready(function(){  

//Define click function
  $("#testbed").click(function(){
     window.location.href = $("#testbed")[0].href;
  });

//Trigger the click event.
  $("#testbed").trigger('click');
});
于 2013-07-26T06:18:59.360 に答える