Jquery如何通过赋予名称无效来重用点击功能

时间:2015-08-13 07:28:26

标签: javascript jquery

我有一个按钮如下:

<input type="button" value="submit" id="submitPollStudent">

我正在使用JQuery来实现clisk功能,如下所示:

$("#submitPollStudent").click(function() {

 //my coding stuff comes here

});

我需要在另一个函数上实现相同的功能:

假设:

if(flag == 0){
  $("#submitPollStudent").click();
}

如何重新使用该功能?

我试过这样的事情:

我将点击功能修改为:

$("#submitPollStudent").click(function myfunc() {

     //my coding stuff comes here

    })

//for calling
if(flag == 0){
      myfunc();
    }

如果是javascript,我可以这样做:

<input type="button" value="submit" id="submitPollStudent" onclick="myfun()">
   function myfun() {

     //my coding stuff comes here
}

   //for calling
    if(flag == 0){
          myfunc();
        }

如何在jquery中实现相同的功能?

4 个答案:

答案 0 :(得分:1)

您可以重复使用命名函数。

请参阅代码中的注释。

return

您可以将其称为普通功能。

// Define myFunc
function myFunc(e) {
    // Function body here
}

// Use myFunc as click handler
$("#submitPollStudent").click(myFunc);

答案 1 :(得分:1)

而不是在内部创建函数,只需创建简单的函数。

function myfunction()
{
  // your code here 
}


$("#submitPollStudent").click(function() {
     myfunction();
});


if(flag == 0){
  myfunction();
}

答案 2 :(得分:0)

在函数表达式中添加名称不会使其成为函数声明,它仍然是函数表达式,并且名称仅在该函数内可见。

将函数移出表达式使其成为函数声明,然后您可以在事件绑定和函数调用中使用该名称:

function myfunc() {

    //my coding stuff comes here

}

$("#submitPollStudent").click(myfunc);

//for calling
if(flag == 0){
    myfunc();
}

答案 3 :(得分:-2)

在jQuery参数之外定义函数: 喜欢这个

function myfunc() {

     //my coding stuff comes here

}
$("#submitPollStudent").click(myfunc);

//for calling
if(flag == 0){
    myfunc();
}