我编写了一个示例jQuery程序,发现在jQuery文档加载过程中调用了函数triclick()。
如果我用part2替换part1,那么click()函数工作正常。请澄清我错在哪里?
我希望点击H3时元素H2消失。但元素H2隐藏在负载本身上。
第1部分:
$(document).ready(function()
{
$("h1").hide();
$("h3").click(triclick());
});
function triclick()
{
$("h2").hide();
alert('H2 is hidden');
}
第2部分:点击
时工作正常$(document).ready(function()
{
$("h1").hide();
$("h3").click(function()
{
$("h2").hide();
alert('H2 is hidden');
});
});
完整的计划:
答案 0 :(得分:0)
您已经在匿名函数中传递了两个函数:
$(document).ready(function() {
$("h1").hide();
$("h3").click(function(){triclick()});
});
或者只是:
$(document).ready(function() {
$("h1").hide();
$("h3").click(triclick);
});
Yous应该只将对函数的引用传递给click,而不是调用函数。
答案 1 :(得分:0)
你只需传递函数名称。 ()< - 表示执行它
$(document).ready(function() {
$("h1").hide();
$("h3").click(triclick);
});
答案 2 :(得分:0)
问题是
。$( “H3”)点击(triclick());
这意味着,当点击“h3”时,它将运行“triclick”函数返回的结果
但是在这里你应该传递参数函数名,而不是函数execution-result;
你应该知道括号是javascript中的运算符,当它遵循定义的函数名时,它将在函数表达式中执行该函数。
将代码更改为
$(document).ready(function() {
$("h1").hide();
$("h3").click(triclick);
});
当点击“h3”时,功能triclick将运行