0

ユーザーがこのアンカーを見るページがあります...

<a href="javascript:launchSomething("1", "2", "1")">Test</a>

launchSomething(.....)ユーザーがクリックせずに関数を実行/呼び出すことは可能ですか? パラメータが固定値である場合、次のようなことができます...

//on document.ready() {
//  launchSomething( .... );  
//}

しかし、Web ページは動的に生成され、これらのパラメーターも変更されるため、Web ページが読み込まれた後に自動的にトリガーするにはどうすればよいですか?

手伝ってくれてありがとう。

アップデート

マークアップを次のように変更しました

<a class="click1" href="javascript:launchSomething('1', '2', '1')">Test</a>

そのため、常に「click1」というクラスがあります

4

2 に答える 2

0

リンクの属性を動的に生成することで、これを行うことができます。

foreach ($rows as $row) {
    echo '<a class="mylink" data-id=\''.$row['id'].'\'>Test </a>'; 
}

次に、これをリンクのクリック ハンドラーとしてバインドできます。

$('.mylink').click(function(){
    launchSomething($(this).data('id'));
});

特定のリンクのハンドラーを呼び出すには、次を使用できます。

$('.mylink[data-id="someID"]').click();
于 2012-12-13T12:55:53.533 に答える
0

コードを十分に信頼していると仮定すると (おそらく、コードを生成するときにそうする必要があります)、これを使用できます。

eval($('a[href^="javascript:launchSomething("]').attr('href').slice(11));

デモンストレーション (コンソールを開く)

ノート :

  • HTML での引用符エスケープの欠如を修正したことがわかります。
  • jQueryトリガー関数に基づく私の最初のアイデアは、jQueryによって追加されたコールバックでのみ機能するため機能しません。
于 2012-12-13T12:53:43.957 に答える