[英]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 上复制了该应用程序的代码:
我感谢您的帮助!
看起来你应该尝试这样的事情:
$(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 处运行该函数,但不会在单击时运行。
那么你应该为函数提供一个主体:)
$("#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.