繁体   English   中英

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

[英]How do I pass parameters into a jQuery.click() function on a <span> tag?

我过去曾使用 jQuery.click() 函数与按钮一起使用,但除了成功之外一无所有,但我尝试使用它来单击<span>并且它不起作用。

我还注意到它会自动执行我的功能而不听点击。

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

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

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

但它似乎不起作用。 同样,它只是执行它,甚至没有点击。 我什至试过:

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

仍然没有运气,同样的结果。

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

Codepen 天气应用

我感谢您的帮助!

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

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

单独使用function()定义会给我Uncaught SyntaxError: Unexpected token ( .

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

如果你有MyFunction你仍然可以像这样使用 click 来触发它:

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

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

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

像这样尝试:

 $('#example').click(bleepme); function bleepme(){ alert('hi'); }
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <p><span id="example">Click Here</span></p>

请注意,对 bleepme 函数的单击调用没有括号——如果您将括号放在那里,它将在 document.ready 处运行该函数,但不会在单击时运行。

示例 - 单击时没有括号

示例 2 - 点击括号

那么你应该为函数提供一个主体:)

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM