我有一个在内联onclick
上触发的函数。
我希望该函数只被调用一次,但不知道如何使用内联onclick
进行调用。它目前正在运行,但每次用户单击时都运行,而不仅仅是一次。
我就是这样得到它的:
HTML
<div class= "container" onclick="modal('#modal')"></div>
我尝试将其作为Jquery函数,如下所示,并删除上面的单击,但这也不起作用:
$(".container").on( "click", modal( '#modal') {
alert( "The event happened!" );
});
知道怎么做才能让这个函数只运行一次吗?
谢谢
发布于 2021-10-27 10:43:39
如果希望使用jQuery's one()
,则需要从onclick
中删除onclick
,并将JS更改为:
$( ".container" ).one( "click", function() {
alert( "The event happened!" );
});
<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');
删除事件侦听器:
$( ".container" ).on( "click", function() {
alert( "The event happened!" );
$(this).off('click');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class= "container">Container</div>
https://stackoverflow.com/questions/69737081
复制相似问题