Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 调用JQuery函数onClick_Javascript_Jquery - Fatal编程技术网

Javascript 调用JQuery函数onClick

Javascript 调用JQuery函数onClick,javascript,jquery,Javascript,Jquery,我有一个JQuery函数,它显示一个隐藏的div标记。所以现在它在文档加载后立即生效,但我只想在单击按钮时生效。我试图创建一个函数,并使用相同的JQuery代码将其命名为hello,但没有成功 JQuery函数 $("#Signers").show(30,function() { }); 钮扣 <a href="#x" onclick ="validateEmailAddress();hello()"><span>Confirm</span></a

我有一个JQuery函数,它显示一个隐藏的div标记。所以现在它在文档加载后立即生效,但我只想在单击按钮时生效。我试图创建一个函数,并使用相同的JQuery代码将其命名为hello,但没有成功

JQuery函数

$("#Signers").show(30,function() {
 }); 
钮扣

<a href="#x" onclick ="validateEmailAddress();hello()"><span>Confirm</span></a>

请在这方面指导我


谢谢…

只需将jQuery函数包装在JavaScript函数中,并确保您确实有一个ID为
签名者的元素,您的代码就能正常工作

另外,不要忘记包括jQuery

工作示例:

函数validateEmailAddress(){
console.log(“电子邮件”);
}
函数hello(){
log('JavaScript');
$(“#签名者”).show(30,函数(){
//表演结束后做点什么
log('jQuery');
});
}
/**
*这个CSS只是用来隐藏和风格化歌手的,它是
*实际上不需要用于清洗
**/
#签名者{
显示:无;
字体大小:“Arial”,无衬线;
背景色:#FF0000;
颜色:#FFFFFF;
填充:30px;
}


#Singers
您的意思是文档何时加载您的div标签(id为“Singers”)将被隐藏。当点击一个按钮时,就会出现div。不是吗

如果是,则正确的方法如下:

1.添加样式

<style>
#Signers{display:none;}
</style>

#签名者{显示:无;}
2.addjs

<script>

    $(document).ready(function(){
        //jquery code
    });
    function hello(){
        $("#Signers").show(30,function() {}); 
    }

</script>

$(文档).ready(函数(){
//jquery代码
});
函数hello(){
$(“#签名者”).show(30,function(){});
}

我终于解决了这个问题。我知道在上面的回答中,函数的工作方式与预期的一样,但在我的例子中,没有一个函数是通过将JQuery代码放入JS函数中来工作的。我所做的是,我声明了ready函数,它基本上调用了JS函数和onClick事件,函数可以根据需要工作

function hello(){
 $("#Signers").show(30,function() {
 }); 
}

$(document).ready(function () {
    hello();
  });

所以你做了
函数hello(){$(“#签名者”).show()}
?开发者控制台中的错误是什么?按钮在哪里?你的函数在哪里?@j08691这是按钮
如果函数
hello
存在(见上面的评论),那么函数
validateEmailAddress
是否存在并且返回时没有错误?@Daniel看起来像是指向meI的链接,我不知道为什么我将JQuery代码放入函数中时它对我不起作用。div没有出现。上面的方法被证明是有效的。简单地分而治之,慢慢地将部分代码添加到上面的示例中,直到找到导致代码中断的部分。最可能的罪魁祸首是重复的函数名或CSS覆盖(例如
display:none!important
)。如果您的jQuery工作正常,并且您也得到了
控制台.log('JavaScript')
,那么它可能实际上正在启动,只是因为隐藏的特殊性更高而没有显示出来。@Mike您是否将函数放入了
$(document).ready()
?这行不通,因为
onclick
只能调用全局范围内的函数。\@Barmar。我就是这样做的<代码>函数hello(){$(“#签名者”).show(5,函数(){})}
@Mike那么它的工作原理应该与答案中的一样。Javascript控制台中是否有任何错误?这是我一直在做的事情,但事实并非如此。没有将JQuery代码放入函数中,它就可以工作,但是如果我将代码放入函数中并调用它,它就会停止工作。。您应该将hello函数定义放在$(document).ready(function(){})之外;您可以看到我编辑的ansIt打印hello警报。这很奇怪。你能给我看看你的密码吗。没有看到它很难做出决定。好了<代码>函数hello(){$(“#签名者”).show(100,函数(){});alert('hello');}