如何在JavaScript函数中运行JQuery

时间:2012-02-22 21:25:08

标签: jquery

我正在尝试创建一个动态函数,但我遇到了麻烦,因为我似乎无法在JS函数中运行我的JQuery代码。我有一个有效的例子here

我有第二个例子here。两个JsFiddle的唯一区别是我从以下方式切换了呼叫功能:

$('#btnAdd').click(function() {

到这个调用函数:

function addBtn(){

和delBtn上的相同。我想这样做的原因是我可以传递一个参数,所以我知道我是否想要添加另一个问题字段或答案字段。

3 个答案:

答案 0 :(得分:3)

jsFiddle默认将JavaScript代码包装在一个闭包中(即函数是私有变量)。你必须选择“没有包裹(身体)”:http://jsfiddle.net/UpEvK/2/

答案 1 :(得分:0)

您提供的两个代码段在功能上有所不同。

这实际上是在注册点击事件:

$('#btnAdd').click(function)

在这种情况下,'function'只是一个回调函数,是触发click事件时要调用的函数的名称。因此,要使用您的第二个JS小提琴,您必须执行以下操作:

$('#btnAdd').click(addBtn);

如果您可以向我们提供有关您实际尝试使用代码的更多信息,我们可能会提供更详细的答案。

答案 2 :(得分:0)

我会从标记中获取该代码。您可以使用:

$('#btnAdd').click(function() {
   addBtn();
});

现在你有多个:在标记中放一个class ='btnAdd'而不是onclick处理程序并使用:

$('.btnAdd').live('click',function() {
   addBtn();
});

新标记:

<input class="btnAdd" type="button" value="Add Question" />

编辑:现在最终脚本支持两者:

$('.btnAdd,#btnAdd').live('click',function() {
    addBtn();
}); 

注意1.7.1 jQuery用户;使用方法:

$(document).on('click','.btnAdd,#btnAdd',function() {
    addBtn();
});