函数在委托事件和普通绑定事件执行问题
代码如下:
$(".password").on("keydown", function(e) {
if (e.keyCode === 13 && !e.ctrlKey) {
e.preventDefault();
$('.loading-btn').click(denlu());
}
})
$(".loading-btn").click(function(){denlu()});
如果$(".loading-btn").click(function(){denlu()});写成$(".loading-btn").click(denlu());页面刷新会直接执行,但是在$(".password").on("keydown", function(e) {})里面却不会,为什么呢?请指教Thanks♪(・ω・)ノ
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先要先理解 jQuery 事件方法:
事件方法会触发匹配元素的事件,或将函数绑定到所有匹配元素的某个事件。
结合你的代码
触发:
绑定函数:
如果触发的情况下,没有放在某个操作的回调(函数)中,在读取到当前代码行的时候就会触发,故
$('.loading-btn').click(denlu());会立即触发$('.loading-btn').click,
所以click()中denlu()也会作为函数表达式语句执行。