javascript - 如何在 JQuery 的事件处理程序中使用外部函数

标签 javascript jquery

我想做这样的事情:

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

              .....

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

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

如果我在绑定(bind)方法中包含函数 myFunctionWithManyManyLinesOfCode 中的代码,那么这将是一团乱码。

另外,我已经尝试过这个,但我无法引用变量,它们是未定义的

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

最佳答案

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

这应该对你有用。如果有不清楚的地方请写评论。

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

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>

关于javascript - 如何在 JQuery 的事件处理程序中使用外部函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61057970/

相关文章:

javascript - 在窗口调整大小时获取 div 的高度

jquery - 如何使用 jquery 一次关闭多个弹出窗口?

javascript - 有条件地加载图像以进行响应式设计

javascript - 照片库 -javascript

javascript - Bootstrap 轮播 - carousel.on 不是函数

javascript - 数据切换引导折叠复选框问题

jquery - 使用 jQuery 和 CSS3 在点击时翻译另一个 div

JavaScript 语法错误

javascript - 用 JavaScript 替换 HTML 改变了样式,图像不再水平内嵌

javascript - 我通过 JQuery 单击显示了一堆图像 - 有什么简单的方法可以制作动画吗?