如何将参数传递到<span>标记上的jQuery.click()函数?

时间:2016-05-28 19:02:58

标签: javascript jquery html

我过去曾使用jQuery.click()函数和按钮,只有成功,但我尝试使用它来点击<span>并且它不起作用。< / p>

此外,我注意到它在不收听点击的情况下自动执行了我的功能。

判断我如何在按钮上使用它,这将是语法:

<p><span id="example">Click Here</span></p>

   $("#example").click(exampleFunction(p1, p2));

但它似乎不起作用。它再一次执行它,甚至没有发生点击。我甚至尝试过:

$(document).on("click", "#example", exampleFunction(p1, p2));

仍然没有运气,结果相同。

我正在制作一个天气应用程序,我的目标是通过单击该单位来切换华氏温度和摄氏温度之间的温度。我在codepen.io上为应用程序的代码创建了一个副本:

Codepen Weather App

我很感激帮助!

5 个答案:

答案 0 :(得分:1)

看起来你应该尝试这样的事情:

$(document).on("click", "#example", function() {
  console.log('Hello World');
});

仅使用function()定义即可Uncaught SyntaxError: Unexpected token (

您正在做的是将匿名函数绑定到点击。如果你这样做有点不同,比如MyFunction(),那么它只会执行函数。

如果你有MyFunction,你仍然可以使用点击触发它:

function MyFunction() {
  console.log('Hurra!')
}

$('#example').click(MyFunction)

请注意,我没有使用括号,否则它实际上会运行该函数而不是绑定它。

答案 1 :(得分:1)

试试这样:

name
$('#example').click(bleepme);

function bleepme(){
   alert('hi');
}

请注意,对bleepme函数的单击调用没有parens - 如果你将parens放在那里,它将在document.ready上运行该函数,但不会在点击时运行。

Example - no parens on click

Example 2 - parens on click

答案 2 :(得分:0)

你应该为这个功能提供一个身体:)

$("#example").click(function() {
    alert('clicked');
});

答案 3 :(得分:0)

我认为你真的不想将参数传递给函数。当有人点击温度来切换单位时,document.ready函数已经完成执行。您实际上想要从DOM或本地存储中读取temp和units的值。因此,您不需要将参数传递给您的函数,这应该会使事情变得更容易。

答案 4 :(得分:-1)

我认为你的代码需要像这样工作

$(document).ready(function(){
  $('#example').on('click',function(){
    // Some of your logic here
  });
});