首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在内联onclick属性中使用one()

在内联onclick属性中使用one()
EN

Stack Overflow用户
提问于 2021-10-27 10:35:47
回答 1查看 41关注 0票数 0

我有一个在内联onclick上触发的函数。

我希望该函数只被调用一次,但不知道如何使用内联onclick进行调用。它目前正在运行,但每次用户单击时都运行,而不仅仅是一次。

我就是这样得到它的:

HTML

代码语言:javascript
运行
复制
<div class= "container" onclick="modal('#modal')"></div>

我尝试将其作为Jquery函数,如下所示,并删除上面的单击,但这也不起作用:

代码语言:javascript
运行
复制
$(".container").on( "click", modal( '#modal') {
  alert( "The event happened!" );
});

知道怎么做才能让这个函数只运行一次吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-27 10:43:39

如果希望使用jQuery's one(),则需要从onclick中删除onclick,并将JS更改为:

代码语言:javascript
运行
复制
$( ".container" ).one( "click", function() {
  alert( "The event happened!" );
});
代码语言:javascript
运行
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class= "container">Container</div>

这样,alert()将只显示在上,首先单击

如果您想使用问题中所述的on(),请使用$(this).off('click');删除事件侦听器:

代码语言:javascript
运行
复制
$( ".container" ).on( "click", function() {
  alert( "The event happened!" );
  $(this).off('click');
});
代码语言:javascript
运行
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class= "container">Container</div>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69737081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档