2
function initiate()
{

    $("p").text("Hi", Hello());
}

function Hello()
{
    alert("Hello, you have called another function");
}

HTML:

<p>This is a paragraph.</p>
<p>This is another paragraph.</p>
<button onclick="initiate()">Click me</button>

現在、スクリプトはボタンをクリックすると関数initiate()を呼び出し、次に他の関数Hello()が呼び出され、htmlのすべての段落が「Hi」に変更されます。

私が欲しいのは、関数Initiate()がjQueryを使用して関数Hello()を呼び出し、他には何もしないことです。

(つまり、jQueryを使用して関数を呼び出すにはどうすればよいですか?)

4

5 に答える 5

4

text()にコールバック関数を渡すことができませんでした。helloテキストを変更した後、メソッドを呼び出します。

ライブデモ

変化する

$("p").text("Hi", Hello());

$("p").text("Hi");
Hello();
于 2013-03-06T13:01:31.707 に答える
2

これにはjqueryは本当に必要ないと思いますが、jqueryを使用することに夢中になっている場合は、ここでロジックを再評価する必要があります. 最初にボタンに id を与えます。それは必要ありませんが、とにかくそれを行うのは良いことです:

<button id="btnClickMe">Click Me<button>

次に、それを使用して jquery イベントをトリガーし、関数を呼び出します。

$('#btnClickMe').click(function() { //You can either link directly to a func here
alert('Whatever'); //Or you can write the code for your func directly into the handler here
}); 
于 2013-03-06T13:13:30.343 に答える
2

Initiate() から Hello() だけを呼び出したい場合は、次のように呼び出すだけです。

function initiate()
{

    Hello();
}
于 2013-03-06T13:04:44.390 に答える
0

私が望むのは、関数 Initiate() が jQuery を使用して関数 Hello() を呼び出し、他に何もしないことです。

jQuery を使用して関数を呼び出す必要はありません。呼び出すだけでかまいません。

function initiate()
{

    $("p").text("Hi");
    Hello();
}

が取る関数引数.textは2番目の引数ではなく、あなたがしようとしているようにその関数を呼び出すためのものでもありません。渡された関数から値を返すことにより、各段落のテキストを個別に設定するためのものです。各段落に「こんにちは」というテキストが必要なので、そのまま使用できます$("p").text("Hi")

于 2013-03-06T13:07:28.033 に答える
0

これにより、ボタンがクリックされたときに発生するイベント ハンドラーがアタッチされます。このinitialize関数はもう必要ありませんし、 にテキストを設定する必要もありませんp。あなたが何を望んでいるのかわかりませんが、ボタンをクリックするだけで関数を呼び出したいと思うかもしれません。

$(document).ready(function(){
  $("button").click(function(){
     Hello();
  });
});
于 2013-03-06T13:10:57.070 に答える