繁体   English   中英

如何在 JQuery 的事件处理程序中使用外部 function

[英]How to use an external function in event handler in JQuery

我想做这样的事情:

                $(div).bind('click', myFunctionWithManyManyLinesOfCode(param) );

              .....

         function myFunctionWithManyManyLinesOfCode(args){
             //50 lines of Code
           }

如果我这样做,则 function 会在代码到达该点并且不会在点击时执行。

如果我在绑定方法中包含来自 function myFunctionWithManyManyLinesOfCode 的代码,那将是一团乱麻。

另外,我试过这个,但我不能引用变量,它们是未定义的

                $(div).bind('click',  function() {myFunctionWithManyManyLinesOfCode(param)} );

您可以通过以下方式传递您想要的任何数据。

这应该为您解决问题。 如果有不清楚的地方,请写评论。

编辑:如评论中所述,您应该使用而不是绑定。

 function myFunction(e){ console.log(e.data.id); } $('#example').on('click',{id: "WHATEVER"}, myFunction);
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <button id="example">Test</button>

首先,50行代码对于一个function来说太多了,应该分成更小的方法,但是你可以使用这种方法:

var hello = () => {
 alert(123)
}
$("p").click(hello);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM