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>

现在脚本在单击按钮时调用函数initial(),然后调用另一个函数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

如果您只想从 Initiate() 调用 Hello(),您只需按如下方式调用它:

function initiate()
{

    Hello();
}
于 2013-03-06T13:04:44.390 回答
2

我会说你真的不需要 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 回答
0

我想要的是函数 Initiate() 将使用 jQuery 调用函数 Hello(),并且什么也不做。

您不需要使用 jQuery 调用该函数,只需调用它即可。

function initiate()
{

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

所采用的函数参数.text不是第二个参数,也不是像您尝试做的那样调用该函数。它用于通过从传递的函数返回一个值来单独设置每个段落的文本。由于您希望在每个段落中都使用文本“Hi”,因此您可以使用$("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 回答