0

我有一个功能:

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

4 回答 4

3

删除引号就足够了...

$(document).ready(function(){
    $("input:radio[value=one-way]").click(oneWay);
});
于 2011-04-13T14:56:48.977 回答
1

正是大卫古格所说的。此外,要回答您的其他问题,您只需执行以下操作:

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

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

于 2011-04-13T15:01:04.530 回答
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(); 
});
于 2011-04-13T14:59:54.803 回答
0

Click 将函数文字作为其参数,而不是函数文字的字符串名称。

请参阅一个工作示例

以及相关的修改:

$(document).ready(function(){
    $("input:radio[value=one-way]").click(oneWay); // no quotes here, just the variable
});
于 2011-04-13T15:00:23.703 回答