Bla*_*gic 3 syntax jquery function args
嘿,我试图调用一个jquery函数,并以它的形式传递一些args
$('#button').mouseenter(exampleFunction(arg1,arg2));
function exampleFunction(arg1,arg2)
Run Code Online (Sandbox Code Playgroud)
该函数工作正常,没有像这样编写的args.
$('#button').mouseenter(exampleFunction);
function exampleFunction;
Run Code Online (Sandbox Code Playgroud)
但是只要我添加()把args放在函数中就停止工作了.
像这样:
$('#button').mouseenter(exampleFunction());
Run Code Online (Sandbox Code Playgroud)
看起来这是我的某种jquery语法错误
这是实际的代码
<script type="text/javascript">
$(document).ready(function() {
$('.section').mouseover(function(){
$('#nav2').fadeOut(0).animate({"height":"30px"}, 250);
});
$('#section1').hover(navSelect);
function navSelect(){
if ( $('.interior').is(':hidden')){
$('.subSection').fadeOut(250);
$('.interior').delay(250).fadeIn(250);
$('#selector').animate({"left":"0px"},250);
}}
$('#section2').mouseenter(function(){
if ( $('.exterior').is(':hidden')){
$('.subSection').fadeOut(250);
$('.exterior').delay(250).fadeIn(250);
$('#selector').animate({"left":"100px"},250);
}
});
$('#section3').mouseenter(function(){
if ( $('.view').is(':hidden')){
$('.subSection').fadeOut(250);
$('.view').delay(250).fadeIn(250);
$('#selector').animate({"left":"200px"},250);
}
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
JavaScript中的函数是一流的对象.您可以将它们放在变量中,从其他函数返回它们等.当您编写时$('#button').mouseenter(exampleFunction(arg1,arg2));,您说"使用这些参数运行exampleFunction,并使用其返回值作为回调".
要让jQuery稍后使用这些参数调用该函数,您可以使用匿名内联函数:
$('#button').mouseenter(function() {
exampleFunction(arg1,arg2)
});
Run Code Online (Sandbox Code Playgroud)
您的无参数函数将被调用,并将正确的参数传递给您实际要调用的函数.这是一个穷人的关闭.
| 归档时间: |
|
| 查看次数: |
3552 次 |
| 最近记录: |