-1

たとえば、JavaScriptを使用して、通常はこのようなメソッドを呼び出します

<a href ="" onclick="javascriptMethod()">Link</a>

このようなメソッドを実装します

<script type="text/javascript">
function javascriptMethod(){
 //codes
}
</script>

ほとんどのjQueryドキュメントで何らかの理由で私が見つけることができるのは

$("").click(function(){
  //codes
});

jQuery で onclick 呼び出しを行うことはできませんか?

明確化:$().click変更できない既存の div 配列のために、メソッド自体を呼び出す必要はありません。私は JavaScript でそれを行う方法を知っており、非常に簡単です。問題は、次のような要素に対してjQueryメソッドを呼び出すことはできません<img onclick="jQueryMethod" />か?

メソッドに値を渡す必要があります。これが最も重要な部分です。要素は配列にあるため、どの要素[x]かわかりません。

4

6 に答える 6

3

これがクリックコールのやり方です。

ID と呼び出しクリックによるコントロールへのアクセス。

$("#IdOfClickableControl").click();

トリガーで行うこともできます

$("#IdOfClickableControl").trigger("click");
于 2012-07-04T14:49:48.100 に答える
3

次の HTML を検討してください。

<a id="mylink" href="#">Link</a>

次のようにリスナーを追加できます。

$("#mylink").click(function() {
    // Call the method you want
    javascriptMethod();

    // Prevent the default behaviour
    return false;
});

リンクを使用せずに aspanまたは a button(デフォルトの動作ではない) を使用する場合:

<span id="myelement">Click here</span>

あなたは単に書くことができます:

$("#myelement").click(javascriptMethod);

複数のリンクがある場合は、各リンクにクラスを追加して (つまり: callback)、次のようにします。

$("a.callback").click(function() {
    javascriptMethod();
    return false;
});

編集 1: OP が要求したメソッド呼び出しを追加しました。

編集 2:複数のリンクを処理する

于 2012-07-04T14:53:59.130 に答える
2

onclick他のすべてのインライン イベントは、イベントを登録するための古くて押し付けがましい方法です。そのため、最新の HTML/JavaScript を作成するときにそれらを使用しなくなりました。

インライン イベントを使用する代わりに JavaScript を介してそれらを登録するいくつかの利点は、グローバル スコープにない関数を呼び出し、クロージャーを使用して、イベント関数の外部で定義された非グローバル変数を使用できるようにすることです。また、JavaScript と HTML を混在させないため、構造がすっきりします。

クラスセレクターなどを介して、関数を多くの要素に簡単にバインドできるという利点もあります。$('.someclass').click(someFunction);

于 2012-07-04T15:03:11.993 に答える
2

onclickソースで関数を直接定義するべきではありませんHTML。識別子を使用してから、次のように jQuery を使用してハンドラーをアタッチする方がはるかにクリーンidです。

<a href="" id="mylink">Link</a>

次に、jQuery セレクターを使用して選択し、次のようにクリック ハンドラーを追加します。

<script>
$(function() {
    $('#mylink').click(function() {
        // do stuff
    });
});
</script>
于 2012-07-04T14:56:08.317 に答える
1

html:

<a href="" id="thingy">Link</a>

js

$("#thingy").click(function(){
  // the content of your method here
});
于 2012-07-04T14:55:14.623 に答える
0
$("").click(function(){
//codes
});

このメソッドはイベント ハンドラです。エンド ユーザーがアンカー タグをクリックすると、thiw が呼び出されるため、メソッド自体を呼び出す必要はありません。jQuery でのイベント処理の詳細については、次を参照してください。

于 2012-07-04T14:51:56.683 に答える