JQuery函数为var,然后执行var on action

时间:2011-04-13 14:55:25

标签: jquery function variables triggers execute

我有一个功能:

var oneWay = function (){
    $(".one-way").show();
    $(".round-trip").hide();
    $(".multi-stop").hide();
 };

我想在一个动作上触发这个功能,即:

$(document).ready(function(){
    $("input:radio[value=one-way]").click('oneWay');
});

但这不起作用。我认为我的语法可能已关闭。

另外,如果我想在DOM准备就绪时执行此功能怎么办?会是这样的:

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

谢谢, 布赖恩

4 个答案:

答案 0 :(得分:3)

删除引号应该足够了......

$(document).ready(function(){
    $("input:radio[value=one-way]").click(oneWay);
});

答案 1 :(得分:1)

正是DavidGouge所说的。此外,要回答您的其他问题,您只需执行此操作:

$(document).ready(function(){
    $("input:radio[value=one-way]").click(oneWay); //binds it to the click event
    oneWay(); //executes it now.
});

请记住,oneWay是对函数的引用(作为“对象”传递),而oneWay()则立即执行该函数。

答案 2 :(得分:0)

$(document).ready(function(){
    $("input:radio[value=one-way]").click(oneWay);
});

$(document).ready(function(){
    $("input:radio[value=one-way]").click(function(){ oneWay(); });
});

和最后一个:

$(document).ready(function(){
   //oneWay;
   oneWay(); 
});

答案 3 :(得分:0)

单击take作为参数的函数文字,而不是函数文字的字符串名称。

请参阅a working example

相关的修改:

$(document).ready(function(){
    $("input:radio[value=one-way]").click(oneWay); // no quotes here, just the variable
});